コード例 #1
0
class BrkGeoLocationSerializer(serializers.Serializer):
    extent = serializers.ListSerializer(child=serializers.FloatField())
    appartementen = BrkAppartementenSerializer(many=True)
    eigenpercelen = fields.GeometryField()
    niet_eigenpercelen = fields.GeometryField()

    class Meta:
        inlcude_fields = ('extent', 'appartementen', 'eigenpercelen',
                          'niet_eigenpercelen')
コード例 #2
0
class DataResourceSerializer(serializers.ModelSerializer):
    metadata = ResourceMetadataSerializer(many=True, required=False, read_only=True)
    #driver_config = hstore_fields.HStoreField(required=False)
    #metadata_properties = hstore_fields.HStoreField(required=False)
    last_change = fields.DateTimeField(required=False, read_only=True)
    last_refresh = fields.DateTimeField(required=False, read_only=True)
    next_refresh = fields.DateTimeField(required=False, read_only=True)
    bounding_box = gis_fields.GeometryField(required=False, read_only=True)
    import_log = fields.CharField(required=False, read_only=True)
    url = serializers.HyperlinkedIdentityField(view_name='data-resource-detail', lookup_field='slug')
    associated_pages = PageShortSerializer(many=True)

    class Meta:
        model = models.DataResource
        fields = (
            'url',
            'title',
            'slug',
            'metadata',
            'original_file',
            'resource_url',
            'metadata_url',
            'metadata_xml',
            #'driver_config',
            #'metadata_properties',
            'last_change',
            'last_refresh',
            'next_refresh',
            'refresh_every',
            'md5sum',
            'bounding_box',
            'import_log',
            'id',
            'associated_pages',
        )
コード例 #3
0
class DiveGeojsonSerializer(GeoFeatureModelSerializer, DiveSerializer):
    # Annotated geom field with API_SRID
    api_geom = rest_gis_fields.GeometryField(read_only=True, precision=7)

    class Meta(DiveSerializer.Meta):
        geo_field = 'api_geom'
        fields = DiveSerializer.Meta.fields + ('api_geom', )
コード例 #4
0
ファイル: serializers.py プロジェクト: numahell/Geotrek-admin
class TouristicContentGeojsonSerializer(GeoFeatureModelSerializer, TouristicContentSerializer):
    # Annotated geom field with API_SRID
    api_geom = rest_gis_fields.GeometryField(read_only=True, precision=7)

    class Meta(TouristicContentSerializer.Meta):
        geo_field = 'api_geom'
        fields = TouristicContentSerializer.Meta.fields + ('api_geom', )
コード例 #5
0
class BrkAppartementenSerializer(serializers.Serializer):
    aantal = serializers.IntegerField()
    geometrie = fields.GeometryField()

    class Meta:
        model = geo_models.Appartementen
        inlcude_fields = ('aantal', 'geometrie')
コード例 #6
0
class PanoSerializer(HALSerializer):

    # Content for _links in HAL-json:
    serializer_url_field = PanoLinksField
    equirectangular_full = HyperLinksField()
    equirectangular_medium = HyperLinksField()
    equirectangular_small = HyperLinksField()
    cubic_img_preview = HyperLinksField()
    thumbnail = IdentityLinksField(view_name='thumbnail-detail',
                                   lookup_field='pano_id',
                                   format='html',
                                   read_only=True)
    adjacencies = IdentityLinksField(view_name='panoramas-adjacencies',
                                     lookup_field='pano_id',
                                     format='html',
                                     read_only=True)

    # Additional regular attributes:
    cubic_img_baseurl = serializers.ReadOnlyField()
    cubic_img_pattern = serializers.ReadOnlyField()
    geometry = fields.GeometryField(source='geolocation')

    class Meta(HALSerializer.Meta):
        model = Panoramas
        listresults_field = 'panoramas'
        list_serializer_class = HALListSerializer
        exclude = ('path', 'geolocation', '_geolocation_2d',
                   '_geolocation_2d_rd', 'status', 'status_changed')
コード例 #7
0
    def __init__(self, *args, **kwargs):
        # Instantiate the superclass normally
        super(ResourceBaseSerializer, self).__init__(*args, **kwargs)

        self.fields['pk'] = serializers.CharField(read_only=True)
        self.fields['uuid'] = serializers.CharField(read_only=True)
        self.fields['resource_type'] = serializers.CharField(read_only=True)
        self.fields['polymorphic_ctype_id'] = serializers.CharField(read_only=True)
        self.fields['owner'] = DynamicRelationField(UserSerializer, embed=True, many=False, read_only=True)
        self.fields['poc'] = ContactRoleField('poc', read_only=True)
        self.fields['metadata_author'] = ContactRoleField('metadata_author', read_only=True)
        self.fields['title'] = serializers.CharField()
        self.fields['abstract'] = serializers.CharField()
        self.fields['attribution'] = serializers.CharField()
        self.fields['doi'] = serializers.CharField()
        self.fields['alternate'] = serializers.CharField(read_only=True)
        self.fields['date'] = serializers.DateTimeField()
        self.fields['date_type'] = serializers.CharField()
        self.fields['temporal_extent_start'] = serializers.DateTimeField()
        self.fields['temporal_extent_end'] = serializers.DateTimeField()
        self.fields['edition'] = serializers.CharField()
        self.fields['purpose'] = serializers.CharField()
        self.fields['maintenance_frequency'] = serializers.CharField()
        self.fields['constraints_other'] = serializers.CharField()
        self.fields['language'] = serializers.CharField()
        self.fields['supplemental_information'] = serializers.CharField()
        self.fields['data_quality_statement'] = serializers.CharField()
        self.fields['bbox_polygon'] = fields.GeometryField()
        self.fields['srid'] = serializers.CharField()
        self.fields['group'] = DynamicRelationField(GroupSerializer, embed=True, many=False)
        self.fields['popular_count'] = serializers.CharField()
        self.fields['share_count'] = serializers.CharField()
        self.fields['rating'] = serializers.CharField()
        self.fields['featured'] = serializers.BooleanField()
        self.fields['is_published'] = serializers.BooleanField()
        self.fields['is_approved'] = serializers.BooleanField()
        self.fields['detail_url'] = serializers.CharField(read_only=True)
        self.fields['created'] = serializers.DateTimeField(read_only=True)
        self.fields['last_updated'] = serializers.DateTimeField(read_only=True)
        self.fields['raw_abstract'] = serializers.CharField(read_only=True)
        self.fields['raw_purpose'] = serializers.CharField(read_only=True)
        self.fields['raw_constraints_other'] = serializers.CharField(read_only=True)
        self.fields['raw_supplemental_information'] = serializers.CharField(read_only=True)
        self.fields['raw_data_quality_statement'] = serializers.CharField(read_only=True)

        self.fields['embed_url'] = EmbedUrlField()
        self.fields['thumbnail_url'] = ThumbnailUrlField()
        self.fields['keywords'] = DynamicRelationField(
            HierarchicalKeywordSerializer, embed=False, many=True)
        self.fields['regions'] = DynamicRelationField(
            RegionSerializer, embed=True, many=True, read_only=True)
        self.fields['category'] = DynamicRelationField(
            TopicCategorySerializer, embed=True, many=False)
        self.fields['restriction_code_type'] = DynamicRelationField(
            RestrictionCodeTypeSerializer, embed=True, many=False)
        self.fields['license'] = DynamicRelationField(
            LicenseSerializer, embed=True, many=False)
        self.fields['spatial_representation_type'] = DynamicRelationField(
            SpatialRepresentationTypeSerializer, embed=True, many=False)
コード例 #8
0
class SensitiveAreaGeojsonSerializer(GeoFeatureModelSerializer,
                                     SensitiveAreaSerializer):
    # Annotated geom field with API_SRID
    geom2d_transformed = rest_gis_fields.GeometryField(read_only=True,
                                                       precision=7)

    class Meta(SensitiveAreaSerializer.Meta):
        geo_field = 'geom2d_transformed'
        fields = SensitiveAreaSerializer.Meta.fields + ('geom2d_transformed', )