dayjournal memo

Total 974 articles!!

GeoDjango #002 – GeoJSON形式でAPI配信

Yasunori Kirimoto's avatar

画像



GeoJSON形式でAPIを配信するメモ。



画像



/app/api/serializers.py

# GeoFeatureModelSerializer読み込み
from rest_framework_gis.serializers import GeoFeatureModelSerializer
# モデル読み込み
from .models import Points, Lines, Polygons

# ポイントシリアライザ
class PointsSerializer(GeoFeatureModelSerializer):
    class Meta:
        model = Points
        fields = ('__all__')
        # 位置情報カラム指定
        geo_field = 'geom'

# ラインシリアライザ
class LinesSerializer(GeoFeatureModelSerializer):
    class Meta:
        model = Lines
        fields = ('__all__')
        # 位置情報カラム指定
        geo_field = 'geom'

# ポリゴンシリアライザ
class PolygonsSerializer(GeoFeatureModelSerializer):
    class Meta:
        model = Polygons
        fields = ('__all__')
        # 位置情報カラム指定
        geo_field = 'geom'


rest_framework_gis.serializersのGeoFeatureModelSerializerを読み込み

# GeoFeatureModelSerializer読み込み
from rest_framework_gis.serializers import GeoFeatureModelSerializer

GeoFeatureModelSerializerを指定

class PointsSerializer(GeoFeatureModelSerializer):

位置情報が入っているカラムをgeo_fieldとして指定

# 位置情報カラム指定
geo_field = 'geom'


下記URLで確認

http://127.0.0.1:8000/api/points/100/



GeoDjangoを手軽に始める環境を公開しています。
geodjango-starter



book

Q&A