Esempio n. 1
0
 def render(self, data, accepted_media_type=None, renderer_context=None):
     collection = collections.as_feature(data)
     try:
         features = collection['features']
     except KeyError:
         features = [collection]
     template = loader.get_template(self.template_name)
     return template.render({'features': features})
Esempio n. 2
0
 def render(self, data, accepted_media_type=None, renderer_context=None):
     """Returns *data* encoded as GeoJSON."""
     data = collections.as_feature(data)
     try:
         return data.geojson
     except AttributeError:
         return super(GeoJSONRenderer, self).render(
             data, accepted_media_type, renderer_context)
Esempio n. 3
0
 def render(self, data, accepted_media_type=None, renderer_context=None):
     collection = collections.as_feature(data)
     try:
         features = collection['features']
     except KeyError:
         features = [collection]
     template = loader.get_template(self.template_name)
     return template.render(Context({'features': features}))
Esempio n. 4
0
 def render(self, data, accepted_media_type=None, renderer_context=None):
     """Returns *data* encoded as GeoJSON."""
     data = collections.as_feature(data)
     try:
         return data.geojson
     except AttributeError:
         return super(GeoJSONRenderer, self).render(
             data, accepted_media_type, renderer_context)
Esempio n. 5
0
    def render(self, data, accepted_media_type=None, renderer_context=None):
        """Returns *data* encoded as GeoJSON."""

        if isinstance(data, list):
            data = collections.as_feature(data)

        data['name'] = renderer_context['view'].layer
        for index, features in enumerate(data['features']):
            data['features'][index]['name'] = renderer_context['view'].layer
        return mapbox_vector_tile.encode(data)
Esempio n. 6
0
 def to_python(self, value):
     if value in self.empty_values:
         return None
     sref = None
     # Work with a single GeoJSON geometry or a Feature.
     value = json.loads(value) if '"Feature",' in value else value
     if isinstance(value, collections.Mapping):
         feat = sc.as_feature(value)
         value = json.dumps(feat.get('geometry') or value)
         sref = feat.srs
     # Handle a comma delimited extent.
     elif list(value).count(',') == 3:
         value = Envelope(value.split(',')).polygon.ExportToWkt()
     try:
         geom = gdal.OGRGeometry(value, srs=getattr(sref, 'wkt', None))
     except (gdal.OGRException, TypeError, ValueError):
         raise forms.ValidationError(self.error_messages['invalid_geom'])
     if not geom.srs:
         geom.srid = self.srid or self.widget.map_srid
     return geom
Esempio n. 7
0
 def to_python(self, value):
     if value in self.empty_values:
         return None
     sref = None
     # Work with a single GeoJSON geometry or a Feature.
     value = json.loads(value) if '"Feature"' in value else value
     if isinstance(value, collections.Mapping):
         feat = sc.as_feature(value)
         value = json.dumps(feat.get('geometry') or value)
         sref = feat.srs
     # Handle a comma delimited extent.
     elif list(value).count(',') == 3:
         value = Envelope(value.split(',')).polygon.ExportToWkt()
     try:
         geom = gdal.OGRGeometry(value, srs=getattr(sref, 'wkt', None))
     except (gdal.GDALException, TypeError, ValueError):
         raise forms.ValidationError(self.error_messages['invalid_geom'],
                                     code='invalid_geom')
     if not geom.srs:
         geom.srid = self.srid or self.widget.map_srid
     return geom
Esempio n. 8
0
 def test_as_feature(self):
     self.assertIsInstance(as_feature(dict(self.lc['layer'])),
                           FeatureCollection)
     self.assertIsInstance(as_feature(dict(self.lc)), LayerCollection)
Esempio n. 9
0
 def test_as_feature(self):
     self.assertIsInstance(as_feature(dict(self.lc['layer'])),
                           FeatureCollection)
     self.assertIsInstance(as_feature(dict(self.lc)), LayerCollection)