dayjournal memo

Total 992 articles!!

GeoDjango #001 – 環境構築

Yasunori Kirimoto's avatar

画像



DjangoDjango REST framework GISでGeoDjango環境を構築したメモ。


GitHubでも公開しています。GeoDjangoを手軽に始めたい方ぜひご利用ください。

geodjango-starter



016



ディレクトリ構成

016


データベースインストール

PostgreSQL and PostGIS install

サンプルではGoogle Cloud SQLを利用しています。課金が発生するので利用は自己責任でお願いします。ローカル環境やDocker環境でのインストールでも問題ありません。


パッケージインストール

poetry install

パッケージリスト

poetry show

/app/config/settings.py

データベースの設定

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'sampledb',
        'USER': 'postgres',
        'HOST': 'localhost',
        'PORT': '3306',
        'PASSWORD': '',
    }
}

マイグレーション実行

poetry run ./app/manage.py migrate

014


/app/api/load_points.py

/app/api/load_lines.py

/app/api/load_polygons.py

インポートデータのファイルパス設定

# ファイルパス (GeoJSONのパスを指定)
geojson_file = '/Users/ユーザー/app/db/geojson/point_osm.geojson'

# ファイルパス (GeoJSONのパスを指定)
geojson_file = '/Users/ユーザー/app/db/geojson/line_osm.geojson'

# ファイルパス (GeoJSONのパスを指定)
geojson_file = '/Users/ユーザー/app/db/geojson/polygon_osm.geojson'

データインポート

poetry run ./app/manage.py shell
from api import load_points
load_points.run()

from api import load_lines
load_lines.run()

from api import load_polygons
load_polygons.run()

exit()

インポートデータ確認

015


簡易サーバー起動

poetry run ./app/manage.py runserver

ポイントデータ表示

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

016


ラインデータ表示

http://127.0.0.1:8000/api/lines/100/

017


ポリゴンデータ表示

http://127.0.0.1:8000/api/polygons/100/

018



本番環境でのリリースとなるとまだまだやることがあるのですが、手軽にローカル環境で開発したり拡張して本番環境でのリリース等に利用可能です!



book

Q&A