質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Q&A

解決済

1回答

558閲覧

GoeDjango JGD2011座標系 geomフィールドをOpenStreetMapで表示させようとするとアフリカ辺りが表示される

konyaga_yamada

総合スコア4

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

0グッド

0クリップ

投稿2020/03/01 17:11

編集2020/03/01 17:13

前提・実現したいこと

以下のサイトを参考に、DjangoのAdmin画面に国土数値情報 行政区域データ
を表示させようとしています。

国土数値情報 行政区域データ
参考サイト

※使用しているデータは東京都平成31年世界測地系データ(N03-190101_13_GML.zip)です。

発生している問題

admin.site.register第2引数にadmin.GeoModelAdminを指定した際は

from django.contrib.gis import admin from world.models import Border # Register your models here. admin.site.register(Border, admin.GeoModelAdmin)

イメージ説明

と東京近郊の地図上に行政区域が表示されるのに対して、
第2引数にadmin.OSMGeoAdminを指定した際はちょうど地球の真裏
辺りが表示されます。

from django.contrib.gis import admin from world.models import Border # Register your models here. admin.site.register(Border, admin.OSMGeoAdmin)

イメージ説明

試したこと

  • migrationの再実行、データインポートの再実行⇒変化なし

補足情報(FW/ツールのバージョンなど)

当方の環境は以下の通りです。
Djangoはhttpd + mod_wsgiデーモンで動作、
pythonは専用の仮想環境を作成しています。

softwareversion
OSCentOS Linux release 7.7.1908 (Core)
PythonPython 3.6.8
PostgreSQL9.6.17-1PGDG.rhel7
PostGIS2.5.3-7.rhel7
PROJ.44.8.0-2.rhel7
GDAL1.11.4-12.rhel7
GEOS3.5.0-1.rhel7.1
Django3.0.3
Apache2.4.6
mod-wsgi4.7.1

今回初めてGeoDjangoおよび、地図データを触っています。
素人考えですが、PROJ.4での座標系の変換処理まわりが正しく動作していないのでは?
と考えております。
似たような事象に遭遇された方おりましたら、解決の取っ掛かりでもご教示いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

原因

行政区域情報をPostGISへインポートする際、

lm = LayerMapping(Border, geojson_file, mapping, transform=Flase, encoding='UTF-8')

transform=Flaseとしていたのが原因。
上記の場合、座標データ変換しません。

以下の通り修正し、データインポート再実行でOpenStreetMap上に行政区域情報を表示させることができました。

lm = LayerMapping(Border, geojson_file, mapping, transform=True, encoding='UTF-8')

イメージ説明

補足

djangoでログ出力設定させました。座標変換に失敗している旨のエラーが出ていました。。。

Error transforming geometry from srid '4326' to srid '3857' (OGR failure.)

投稿2020/03/02 16:00

konyaga_yamada

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問