2015年6月29日月曜日

10 国土数値情報 3 - 地図の表示

10-3 地図の表示
最初に、マップデータ N03-14_13_140401 の情報を知るために管理ツール gdal-bin を使います。
ないときは、Synaptic パッケージマネージャでインストールします。
nlni/tokyo フォルダを mapdata フォルダへ移動し、利用可能なレイヤ名を表示します。

nob61@deb8-vmw:~/ダウンロード/nlni/tokyo$ cd ../../
nob61@deb8-vmw:~/ダウンロード$ ls
---
nlni
---
nob61@deb8-vmw:~/ダウンロード$ mv nlni/ ../mapdata/
nob61@deb8-vmw:~/ダウンロード$ cd ../mapdata/
nob61@deb8-vmw:~/mapdata$ ls
110m_cultural  land_ocean_ice_2048.jpg  land_ocean_ice_2048.jpgw  nlni
nob61@deb8-vmw:~/mapdata$ cd nlni/
nob61@deb8-vmw:~/mapdata/nlni$
nob61@deb8-vmw:~/mapdata/nlni$ ls
tokyo
nob61@deb8-vmw:~/mapdata/nlni$ ogrinfo tokyo
INFO: Open of `tokyo'
      using driver `ESRI Shapefile' successful.
1: N03-14_13_140401 (Polygon)

次に、N03-071001_13 レイヤのデータを表示します。

nob61@deb8-vmw:~/mapdata/nlni$ ogrinfo -summary tokyo N03-14_13_140401
INFO: Open of `tokyo'
      using driver `ESRI Shapefile' successful.

Layer name: N03-14_13_140401
Geometry: Polygon
Feature Count: 3297
Extent: (136.069482, 20.425119) - (153.986898, 35.898424)
Layer SRS WKT:
GEOGCS["GCS_JGD_2000",
    DATUM["Japanese_Geodetic_Datum_2000",
        SPHEROID["GRS_1980",6378137.0,298.257222101]],
    PRIMEM["Greenwich",0.0],
    UNIT["Degree",0.0174532925199433]]
N03_001: String (10.0) -> 都道府県名
N03_002: String (20.0) -> 支庁・振興局名
N03_003: String (20.0) -> 郡・政令市名
N03_004: String (20.0) -> 市区町村名
N03_007: String (5.0) -> 行政区域コード

属性名は、

データのダウンロード(2.各データの詳細)国土数値情報 行政区域データ
http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html

にあります。
このレイヤは、Geometry: Polygonからポリゴンデータであることが分かります。
また、Extent: (136.069482, 20.425119) - (153.986900, 35.898424)は座標で緯度経度を表し、レイヤの範囲が分かります。

これをもとに、マップファイルを作成します。

nob61@deb8-vmw:~/mapdata/nlni$ cd ../../mapfile/
nob61@deb8-vmw:~/mapfile$ vim tokyo_shp.map
MAP
 NAME tokyo_shp_map #任意の名前
 STATUS ON
 SIZE 600 300
 EXTENT 136.069482 20.425119 153.986898 35.898424 #ogrinfoで得た情報から
 UNITS DD
 SHAPEPATH "../mapdata/nlni/tokyo" #シェイプファイルの相対位置
 IMAGECOLOR 255 255 255
 WEB
  IMAGEPATH "/home/user/public_html/ms_tmp/"
  IMAGEURL "/public_html/ms_tmp/"
 END
 LAYER
  NAME gyoseikuiki #任意の名前
  TYPE POLYGON #ogrinfoで得た情報から
  STATUS ON
  DATA "N03-14_13_140401.shp"
  CLASS
   NAME "City Boundaries" #任意の名前
   STYLE
    OUTLINECOLOR 153 153 153 #面の外周の色(灰色)
   END
  END
 END
END #MAP END

shp2imgで地図を確認します。

nob61@deb8-vmw:~/mapfile$ shp2img -m tokyo_shp.map -o tokyo_shp.png


画像ビューワで確認すると、範囲が広すぎるのが分かります。
今回は、諸島部分を除いた範囲にします。

---
EXTENT 138.85 35.4 140 35.975
---

全体は次の様になります。

nob61@deb8-vmw:~/mapfile$ vim tokyo_shp.map
MAP
 NAME tokyo_shp_map
 STATUS ON
 SIZE 600 300
 EXTENT 138.85 35.4 140 35.975 #修正
 UNITS DD
 SHAPEPATH "../mapdata/nlni/tokyo"
 IMAGECOLOR 255 255 255
 WEB
  IMAGEPATH "/home/user/public_html/ms_tmp/"
  IMAGEURL "/public_html/ms_tmp/"
 END
 LAYER
  NAME gyoseikuiki
  TYPE POLYGON
  STATUS ON
  DATA "N03-14_13_140401.shp"
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
  END
 END
END #MAP END

shp2imgで地図を確認します。

nob61@deb8-vmw:~/mapfile$ shp2img -m tokyo_shp.map -o tokyo_shp.png



Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。

http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_shp.map


0 件のコメント: