Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_wkt2geom(wkt, bounds, expected):
result = util.wkt2geom(wkt, bounds=bounds)
assert result == expected
def write_boundingbox(bbox, nsmap):
''' Generate ows20:BoundingBox '''
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
if len(bbox2) == 4:
boundingbox = etree.Element(util.nspath_eval('ows20:BoundingBox',
nsmap), crs='http://www.opengis.net/def/crs/EPSG/0/4326',
dimensions='2')
etree.SubElement(boundingbox, util.nspath_eval('ows20:LowerCorner',
nsmap)).text = '%s %s' % (bbox2[1], bbox2[0])
etree.SubElement(boundingbox, util.nspath_eval('ows20:UpperCorner',
nsmap)).text = '%s %s' % (bbox2[3], bbox2[2])
return boundingbox
else:
def record_to_dict(record):
# Encodes record title if it is not empty.
if record.title:
record.title = record.title.encode('ascii', 'ignore').decode('utf-8')
bbox = wkt2geom(record.wkt_geometry)
min_x, min_y, max_x, max_y = bbox[0], bbox[1], bbox[2], bbox[3]
record_dict = {
'title': record.title,
'abstract': record.abstract,
'title_alternate': record.title_alternate,
'checks_list': [],
'bbox': bbox,
'min_x': min_x,
'min_y': min_y,
'max_x': max_x,
'max_y': max_y,
'source': record.source,
'source_type': record.type,
'tile_url': '/layer/%s/wmts/%s/default_grid/{z}/{x}/{y}.png' % (record.identifier, record.title_alternate),
'layer_date': record.date_modified,
def write_extent(bbox, nsmap):
''' Generate BBOX extent '''
from shapely.wkt import loads
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
extent = etree.Element(util.nspath_eval('dif:Spatial_Coverage', nsmap))
etree.SubElement(extent, util.nspath_eval('dif:Southernmost_Latitude', nsmap)).text = str(bbox2[1])
etree.SubElement(extent, util.nspath_eval('dif:Northernmost_Latitude', nsmap)).text = str(bbox2[3])
etree.SubElement(extent, util.nspath_eval('dif:Westernmost_Longitude', nsmap)).text = str(bbox2[0])
etree.SubElement(extent, util.nspath_eval('dif:Easternmost_Longitude', nsmap)).text = str(bbox2[2])
return extent
return None
def write_extent(bbox, nsmap):
''' Generate BBOX extent '''
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
bounding_box = etree.Element(util.nspath_eval('gm03:GM03_2_1Core.Core.EX_GeographicBoundingBox', NAMESPACES))
etree.SubElement(bounding_box, util.nspath_eval('gm03:northBoundLatitude', nsmap)).text = str(bbox2[3])
etree.SubElement(bounding_box, util.nspath_eval('gm03:southBoundLatitude', nsmap)).text = str(bbox2[1])
etree.SubElement(bounding_box, util.nspath_eval('gm03:eastBoundLongitude', nsmap)).text = str(bbox2[0])
etree.SubElement(bounding_box, util.nspath_eval('gm03:westBoundLongitude', nsmap)).text = str(bbox2[2])
return bounding_box
return None
def write_extent(bbox):
''' Generate BBOX extent '''
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
spdom = etree.Element('spdom')
bounding = etree.SubElement(spdom, 'bounding')
etree.SubElement(bounding, 'westbc').text = str(bbox2[0])
etree.SubElement(bounding, 'eastbc').text = str(bbox2[2])
etree.SubElement(bounding, 'northbc').text = str(bbox2[3])
etree.SubElement(bounding, 'southbc').text = str(bbox2[1])
return spdom
return None
def write_extent(bbox, nsmap):
''' Generate BBOX extent '''
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
where = etree.Element(util.nspath_eval('georss:where', NAMESPACES))
envelope = etree.SubElement(where, util.nspath_eval('gml:Envelope', nsmap), srsName='http://www.opengis.net/def/crs/EPSG/0/4326')
etree.SubElement(envelope, util.nspath_eval('gml:lowerCorner', nsmap)).text = '%s %s' % (bbox2[1], bbox2[0])
etree.SubElement(envelope, util.nspath_eval('gml:upperCorner', nsmap)).text = '%s %s' % (bbox2[3], bbox2[2])
return where
return None
def write_boundingbox(bbox, nsmap):
''' Generate ows:BoundingBox '''
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
if len(bbox2) == 4:
boundingbox = etree.Element(util.nspath_eval('ows:BoundingBox',
nsmap), crs='urn:x-ogc:def:crs:EPSG:6.11:4326',
dimensions='2')
etree.SubElement(boundingbox, util.nspath_eval('ows:LowerCorner',
nsmap)).text = '%s %s' % (bbox2[1], bbox2[0])
etree.SubElement(boundingbox, util.nspath_eval('ows:UpperCorner',
nsmap)).text = '%s %s' % (bbox2[3], bbox2[2])
return boundingbox
else:
def write_extent(bbox, nsmap):
''' Generate BBOX extent '''
if bbox is not None:
try:
bbox2 = util.wkt2geom(bbox)
except:
return None
extent = etree.Element(util.nspath_eval('gmd:extent', nsmap))
ex_extent = etree.SubElement(extent, util.nspath_eval('gmd:EX_Extent', nsmap))
ge = etree.SubElement(ex_extent, util.nspath_eval('gmd:geographicElement', nsmap))
gbb = etree.SubElement(ge, util.nspath_eval('gmd:EX_GeographicBoundingBox', nsmap))
west = etree.SubElement(gbb, util.nspath_eval('gmd:westBoundLongitude', nsmap))
east = etree.SubElement(gbb, util.nspath_eval('gmd:eastBoundLongitude', nsmap))
south = etree.SubElement(gbb, util.nspath_eval('gmd:southBoundLatitude', nsmap))
north = etree.SubElement(gbb, util.nspath_eval('gmd:northBoundLatitude', nsmap))
etree.SubElement(west, util.nspath_eval('gco:Decimal', nsmap)).text = str(bbox2[0])
etree.SubElement(south, util.nspath_eval('gco:Decimal', nsmap)).text = str(bbox2[1])
etree.SubElement(east, util.nspath_eval('gco:Decimal', nsmap)).text = str(bbox2[2])
etree.SubElement(north, util.nspath_eval('gco:Decimal', nsmap)).text = str(bbox2[3])
return extent