用于接收、发现、编辑和存储DG IMD文件的一组资料
imd-handler的Python项目详细描述
imdiddler
从本地或s3编辑imd文件的工具 可以作为lambda或命令行部署/调用。 保留IMD文件顺序。IMD编辑可以按任意顺序进行
编辑说明符
imd的编辑由一个json字符串指定,该字符串映射键/值对并简单地替换 IMD文件中现有的键/值对,其中JSON字符串中的键/值对。怎么做是没有限制的 只要设置编辑说明符,就可以用一个说明符编辑imd中的一个或所有项。 这是一个简单的叠加操作。一个特别的注意事项是下面讨论的“begin_group/end_group”对。 可以指定imd中的任何类型。以下编辑适用于每个单独的类型 #####字符串
'{"version": "\\"28.4\\";"}'
#####整数
'{"numRows": 6932;"}'
#####日期
'{"generationTime": 2017-08-01T03:39:53.000000Z;"}'
你明白了…
####团体 imds包含一个begin_group=<;name>;和end_group=<;name>;用于波段、图像和产品。命名方案是消歧器。 可以通过在imd中将组的名称指定为键,然后指定子词典来编辑组的内容。 组中要应用的键/值对的。下面编辑imd中的“image_1”组,替换卫星名称。
'"IMAGE_1": {"satId": "\\"WV09\\";"}}'
调用
代码可以通过命令行调用,也可以作为lambda调用。
命令行
python imd_handler.py <input file/s3 object> <edit[s]>
输入文件是一个文件uri,不言而喻(任何有效路径,都需要读/写访问)
file:///Volumes/GKW/Sibinacocha2017/1cc99383-29fd-470a-a3ac-22431193b65a/103001006A803400/056848496010_01/056848496010_01_P001_MUL/17MAY12150511-M1BS-056848496010_01_P001.IMD
s3对象是一个s3 uri,指定名称ie:
s3://727281582563-deliveries/production/I00000070198_01/I00000070198_01_P001_MUL/18APR05102137-M1BS_R1C1-I00000070198_01_P001.IMD
作为lambda
它被部署为imdiddler。事件字典/有效负载应该如下所示:
{"file_uri":"<input file/s3 object>""edit":{"<edit tag>":"<edit value>"}}
#####lambda示例有效载荷
{"file_uri":"s3://727281582563-deliveries/production/I00000070198_01/I00000070198_01_P001_MUL/18APR05102137-M1BS_R1C1-I00000070198_01_P001.IMD""edit":{"version":"\"28.4\";","IMAGE_1":{"satId":"\"WV09;\""}}}
#####注: imd文件包含带引号的字符串,这意味着执行的编辑也必须包含引号。 这意味着json引号转义机制必须用于字符串类型。其他类型(float、int、date)不 需要这个。