GIS オープンデータ入門
座標系と EPSG
- WGS84
- EPSG:4326
- TWD97 緯度経度
- EPSG:3824
- TWD97 TM2 121(台湾本島で一般的)
- EPSG:3826
- TWD97 TM2 119(澎湖・金門・馬祖で一般的)
- EPSG:3825
- TWD67 TM2 121
- EPSG:3828
- Web Mercator
- EPSG:3857
一般的な学生の課題では TWD97 と WGS84 は近いものとして扱える場合がありますが、基準時点、用途、必要精度を確認してください。TWD67 は適切なパラメーターやグリッドで変換し、TWD97 と指定し直すだけではいけません。
QGIS への読み込み
- SHP:ZIP 一式を QGIS にドラッグします。.shp だけでなく付属ファイルも保持してください。
- GeoJSON:QGIS でベクターレイヤーを追加し、元の座標系を確認します。
- KML/KMZ:QGIS でベクターレイヤーを追加し、レイヤーと属性を確認します。
- CSV:「区切りテキストレイヤーの追加」で X を経度・東距、Y を緯度・北距に指定し、正しい EPSG を選択します。
- XML:最初に構造を確認します。座標が含まれていても空間レイヤーとして直接読み込めるとは限らず、GeoJSON や座標 CSV への変換が必要な場合があります。
- WMTS:QGIS の WMS/WMTS 接続に NLSC GetCapabilities URL を追加し、レイヤーとタイル行列を選択して利用許諾を確認します。
- WMS:QGIS で提供元の URL を使って WMS/WMTS 接続を作成し、レイヤーと対応 CRS を確認します。
Python 座標変換の例
最初に元の座標系を確認してください。CRS の指定と座標変換は異なる操作です。汎用 GeoJSON の出力前に WGS84 へ変換します。
from pathlib import Path
import geopandas as gpd
# pip install geopandas pyproj
source = Path("data.shp")
if not source.is_file():
raise FileNotFoundError(source)
data = gpd.read_file(source)
if data.crs is None:
raise ValueError("Missing source CRS: check the provider metadata first")
projected = data.to_crs(epsg=3826)
# RFC 7946 GeoJSON uses WGS84 longitude / latitude, not projected metres.
projected.to_crs(epsg=4326).to_file("output.geojson", driver="GeoJSON")ライセンスと引用
目録内の全データに同じライセンスが適用されるわけではありません。提供元でライセンス、帰属表示、更新日、制限を確認してください。未確認の場合は「元のサイトを参照」と表示します。
OSM · ODbL ↗ · Natural Earth · Public Domain ↗ · EDGAR · CC BY 4.0 ↗