実行環境 インポート時にgeomety_columnsspatial_ref_sysテーブルも作られる 空間参照系カタログのspatial_ref_sys1行しかない(以上、昨日) MySQLにogr2ogrでインポート(明日、予定)
Contents


地図で見る統計(統計GIS)から4種類のシェープファイルを準備

昨日、初めてMySQLogr2ogrでシェープファイルを投入した結果を見ました。空間参照系を識別するSRID1になっており、よく使われるEPSGコードとは関係なく単純な連番になる?感じ。MySQLのリファレンスogr2ogrのコマンドリファレンスには詳しい記載がないので、試しに異なる空間参照系のシェープファイルを連続して一つのデータベースに投入してみます。

サンプルデータとして、総務省統計局の下記サイトを利用。時々レスポンスが悪く使いづらいですが、同じ地理データが6つの形式であり、うち4つは空間参照系が違うシェープファイル。


» 地図で見る統計(統計GIS)>統計表検索(ダウンロード用)


左側のStep1で統計名を選び、右側のStep2で統計表(というか集計項目)を選択。今日は内容は関係ないので、機械的に全て一番上を選んでいきます。国勢調査 > 平成22年国勢調査(小地域)> 男女別人口総数及び世帯数、と。そして右下の「統計表各種データダウンロードへ」ボタンをクリック。


次の選択画面、左下のStep3で都道府県(一つのみ)と市区町村(複数可)を選び検索ボタンを押すと、ようやく右側に統計ファイル及び地理データへのリンクが出現。これをクリックしてZIPがダウンロードされます。地理データには、選択した市区町村のポリゴンや面積など基本的なデータが入ってます。今回は機械的に一番上の北海道 > 札幌市中央区にしました。


↗ 右側に複数出ているファイルが6種類の地理データ。下が全体です。一つ謎なのは1行目と2行目のファイルサイズの差。「平面直角座標系」の日本測地系と世界測地系で210
KB149KBと随分違う。緯度経度の方は日本測地系と世界測地系で同じ179KB。気になりますが今日の本題でないのでスルーし、ともかく4つのシェープファイルをダウンロード。


4つのうち一つのZIPの中身。PRJ(空間参照系の情報)付きの普通のシェープファイルです。なおZIP内のファイル名が4つとも全て同じなので解凍やインポート時に注意が要ります。ogr2ogrはファイル名をそのままテーブル名にするのがデフォルトだから。


今回は空間参照系別の接頭辞を付けて同じ場所に解凍しました。接頭辞はZIPのファイル名の一部から取り、次のとおり対応しています。


4ファイルのPRJは次のとおりで、EPSGコードは入っていませんが確かに空間参照系が違います。(これらを同一ファイル名にしてZIP名だけ変えるという総務省統計局の感覚は理解しがたい…)

• 日本測地系平面直角座標系(A002005212010
XYSJC01101.zip)> k22ka02101.prj
PROJCS["Japan_Zone_12",GEOGCS["GCS_Tokyo",
    DATUM["D_Tokyo",
        SPHEROID["Bessel_1841",6377397.155,299.1528128]],
    PRIMEM["Greenwich",0.0],
    UNIT["Degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",142.25],
PARAMETER["Scale_Factor",0.9999],
PARAMETER["Latitude_Of_Origin",44.0],
UNIT["Meter",1.0]]

• 世界測地系平面直角座標系(A002005212010
XYSWC01101.zip)> k22ka02101.prj
PROJCS["JGD_2000_Japan_Zone_12", GEOGCS["GCS_JGD_2000",
    DATUM["D_JGD_2000",
        SPHEROID["GRS_1980",6378137.0,298.257222101]],
    PRIMEM["Greenwich",0.0],
    UNIT["Degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",142.25],
PARAMETER["Scale_Factor",0.9999],
PARAMETER["Latitude_Of_Origin",44.0],
UNIT["Meter",1.0]]

• 日本測地系緯度経度A002005212010
DDSJC01101.zip)> k22ka02101.prj
GEOGCS["GCS_Tokyo",
    DATUM["D_Tokyo",
    SPHEROID["Bessel_1841",6377397.155,299.1528128]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]]

• 世界測地系緯度経度A002005212010
DDSWC01101.zip)> k22ka02101.prj
GEOGCS["GCS_JGD_2000",
    DATUM["D_JGD_2000",
    SPHEROID["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]]

長くなったので続きは明日。この4つを続けてMySQLに投入してみます。