本文整理汇总了Python中gbdxtools.catalog.Catalog.get_strip_footprint_wkt方法的典型用法代码示例。如果您正苦于以下问题:Python Catalog.get_strip_footprint_wkt方法的具体用法?Python Catalog.get_strip_footprint_wkt怎么用?Python Catalog.get_strip_footprint_wkt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gbdxtools.catalog.Catalog
的用法示例。
在下文中一共展示了Catalog.get_strip_footprint_wkt方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Idaho
# 需要导入模块: from gbdxtools.catalog import Catalog [as 别名]
# 或者: from gbdxtools.catalog.Catalog import get_strip_footprint_wkt [as 别名]
class Idaho(object):
def __init__(self, interface):
''' Construct the Idaho interface class
Args:
connection (gbdx_session): A reference to the GBDX Connection.
Returns:
An instance of the Idaho interface class.
'''
self.gbdx_connection = interface.gbdx_connection
self.catalog = Catalog(interface)
self.logger = interface.logger
def get_idaho_by_catid_and_aoi(self, catid, aoiWKT):
''' Retrieves the IDAHO image records associated with a given catid.
Args:
catid (str): The source catalog ID from the platform catalog.
cataoiWKTid (str): The well known text of the area of interest.
Returns:
results (json): The full catalog-search response for IDAHO images
within the catID.
'''
self.logger.debug('Retrieving IDAHO metadata')
# use the footprint to get the IDAHO ID
url = 'https://geobigdata.io/catalog/v1/search'
body = {"filters": ["vendorDatasetIdentifier3 = '%s'" % catid],
"types": ["IDAHOImage"],
"searchAreaWkt": aoiWKT}
headers = {'Content-Type': 'application/json'}
r = self.gbdx_connection.post(url, data=json.dumps(body), headers=headers)
r.raise_for_status()
if r.status_code == 200:
results = r.json()
numresults = len(results['results'])
self.logger.debug('%s IDAHO images found associated with catid %s'
% (numresults, catid))
return results
def get_images_by_catid(self, catid):
''' Retrieves the IDAHO image records associated with a given catid.
Args:
catid (str): The source catalog ID from the platform catalog.
Returns:
results (json): The full catalog-search response for IDAHO images
within the catID.
'''
self.logger.debug('Retrieving IDAHO metadata')
# get the footprint of the catid's strip
footprint = self.catalog.get_strip_footprint_wkt(catid)
if not footprint:
self.logger.debug('''Cannot get IDAHO metadata for strip %s,
footprint not found''' % catid)
return None
return self.get_idaho_by_catid_and_aoi(catid, footprint)
def describe_images(self, idaho_image_results):
''' Describe a set of IDAHO images, as returned in catalog search results.
Args:
idaho_image_results (dict): IDAHO image result set as returned from
the catalog.
Returns:
results (json): The full catalog-search response for IDAHO images
within the catID.
'''
results = idaho_image_results['results']
# filter only idaho images:
results = [r for r in results if r['type']=='IDAHOImage']
self.logger.debug('Describing %s IDAHO images.' % len(results))
# figure out which catids are represented in this set of images
catids = set([r['properties']['vendorDatasetIdentifier3'] for r in results])
description = {}
for catid in catids:
# images associated with a single catid
description[catid] = {}
description[catid]['parts'] = {}
images = [r for r in results if r['properties']['vendorDatasetIdentifier3'] == catid]
#.........这里部分代码省略.........
示例2: Idaho
# 需要导入模块: from gbdxtools.catalog import Catalog [as 别名]
# 或者: from gbdxtools.catalog.Catalog import get_strip_footprint_wkt [as 别名]
class Idaho():
def __init__(self, interface):
''' Construct the Idaho interface class
Args:
connection (gbdx_session): A reference to the GBDX Connection.
Returns:
An instance of the Idaho interface class.
'''
self.gbdx_connection = interface.gbdx_connection
self.catalog = Catalog(interface)
self.logger = interface.logger
def get_images_by_catid(self, catid):
''' Retrieves the IDAHO image records associated with a given catid.
Args:
catid (str): The source catalog ID from the platform catalog.
Returns:
results (json): The full catalog-search response for IDAHO images
within the catID.
'''
self.logger.debug('Retrieving IDAHO metadata')
# get the footprint of the catid's strip
footprint = self.catalog.get_strip_footprint_wkt(catid)
if not footprint:
self.logger.debug('Cannot get IDAHO metadata for strip %s, footprint not found' % catid)
return None
# use the footprint to get the IDAHO ID
url = 'https://geobigdata.io/catalog/v1/search'
body = {"startDate": None,
"filters": ["vendorDatasetIdentifier3 = '%s'" % catid],
"endDate": None,
"types": ["IDAHOImage"],
"searchAreaWkt": footprint}
headers = {'Content-Type': 'application/json'}
r = self.gbdx_connection.post(url, data=json.dumps(body), headers=headers)
r.raise_for_status()
if r.status_code == 200:
results = r.json()
numresults = len(results['results'])
self.logger.debug('%s IDAHO images found associated with catid %s' % (numresults, catid))
return results
def describe_images(self, idaho_image_results):
''' Describe a set of IDAHO images, as returned in catalog search results.
Args:
idaho_image_results (dict): IDAHO image result set as returned from
the catalog.
Returns:
results (json): the full catalog-search response for IDAHO images
within the catID.
'''
results = idaho_image_results['results']
# filter only idaho images:
results = [r for r in results if r['type']=='IDAHOImage']
self.logger.debug('Describing %s IDAHO images.' % len(results))
# figure out which catids are represented in this set of images
catids = set([r['properties']['vendorDatasetIdentifier3'] for r in results])
description = {}
for catid in catids:
# images associated with a single catid
description[catid] = {}
description[catid]['parts'] = {}
description[catid]['sensorPlatformName'] = results[0]['properties']['sensorPlatformName']
images = [r for r in results if r['properties']['vendorDatasetIdentifier3'] == catid]
for image in images:
part = int(image['properties']['vendorDatasetIdentifier2'][-3:])
color = image['properties']['colorInterpretation']
bucket = image['properties']['imageBucketName']
id = image['identifier']
boundstr = image['properties']['imageBoundsWGS84']
try:
description[catid]['parts'][part]
except:
description[catid]['parts'][part] = {}
description[catid]['parts'][part][color] = {}
description[catid]['parts'][part][color]['id'] = id
description[catid]['parts'][part][color]['bucket'] = bucket
description[catid]['parts'][part][color]['boundstr'] = boundstr
#.........这里部分代码省略.........
示例3: Idaho
# 需要导入模块: from gbdxtools.catalog import Catalog [as 别名]
# 或者: from gbdxtools.catalog.Catalog import get_strip_footprint_wkt [as 别名]
class Idaho(object):
def __init__(self, **kwargs):
""" Construct the Idaho interface class.
Returns:
An instance of the Idaho interface class.
"""
interface = Auth(**kwargs)
self.base_url = '%s/catalog/v2' % interface.root_url
self.gbdx_connection = interface.gbdx_connection
self.catalog = Catalog()
self.logger = interface.logger
def get_images_by_catid_and_aoi(self, catid, aoi_wkt):
""" Retrieves the IDAHO image records associated with a given catid.
Args:
catid (str): The source catalog ID from the platform catalog.
aoi_wkt (str): The well known text of the area of interest.
Returns:
results (json): The full catalog-search response for IDAHO images
within the catID.
"""
self.logger.debug('Retrieving IDAHO metadata')
# use the footprint to get the IDAHO id
url = '%s/search' % self.base_url
body = {"filters": ["catalogID = '%s'" % catid],
"types": ["IDAHOImage"],
"searchAreaWkt": aoi_wkt}
r = self.gbdx_connection.post(url, data=json.dumps(body))
r.raise_for_status()
if r.status_code == 200:
results = r.json()
numresults = len(results['results'])
self.logger.debug('%s IDAHO images found associated with catid %s'
% (numresults, catid))
return results
def get_images_by_catid(self, catid):
""" Retrieves the IDAHO image records associated with a given catid.
Args:
catid (str): The source catalog ID from the platform catalog.
Returns:
results (json): The full catalog-search response for IDAHO images
within the catID.
"""
self.logger.debug('Retrieving IDAHO metadata')
# get the footprint of the catid's strip
footprint = self.catalog.get_strip_footprint_wkt(catid)
# try to convert from multipolygon to polygon:
try:
footprint = from_wkt(footprint).geoms[0].wkt
except:
pass
if not footprint:
self.logger.debug("""Cannot get IDAHO metadata for strip %s,
footprint not found""" % catid)
return None
return self.get_images_by_catid_and_aoi(catid=catid,
aoi_wkt=footprint)
def describe_images(self, idaho_image_results):
"""Describe the result set of a catalog search for IDAHO images.
Args:
idaho_image_results (dict): Result set of catalog search.
Returns:
results (json): The full catalog-search response for IDAHO images
corresponding to the given catID.
"""
results = idaho_image_results['results']
# filter only idaho images:
results = [r for r in results if 'IDAHOImage' in r['type']]
self.logger.debug('Describing %s IDAHO images.' % len(results))
# figure out which catids are represented in this set of images
catids = set([r['properties']['catalogID'] for r in results])
description = {}
for catid in catids:
# images associated with a single catid
description[catid] = {}
description[catid]['parts'] = {}
images = [r for r in results if r['properties']['catalogID'] == catid]
for image in images:
description[catid]['sensorPlatformName'] = image['properties']['sensorPlatformName']
part = int(image['properties']['vendorDatasetIdentifier'].split(':')[1][-3:])
#.........这里部分代码省略.........