2013年11月17日日曜日

15 - PostGIS で地図の表示 1 - 基盤地図情報

基盤地図情報の行政区画を表示してみます。

15-1 マップファイルの作成
あきる野市の行政区画の地図を表示します。
最初に、あきる野市の行政区画の情報をシェイプファイルからみてみます。

user@debian7-vmw:~/mapdata/tokyo$ ogrinfo -summary akiruno 13228-20120305-AdmArea
INFO: Open of `akiruno'
      using driver `ESRI Shapefile' successful.

Layer name: 13228-20120305-AdmArea
Geometry: Polygon <⁢-1
Feature Count: 92
Extent: (-63063.744614, -34495.938759) - (-45431.621385, -24289.584360) ⁢<-2
Layer SRS WKT:
PROJCS["JGD2000_Japan_Zone_9", ⁢<-3
    GEOGCS["GCS_JGD_2000",
        DATUM["Japanese_Geodetic_Datum_2000",
            SPHEROID["GRS_1980",6378137.0,298.257222101]], <⁢-4
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"], ⁢<-5
    PARAMETER["False_Easting",0.0],
    PARAMETER["False_Northing",0.0],
    PARAMETER["Central_Meridian",139.833333333333], <⁢-6
    PARAMETER["Scale_Factor",0.9999],
    PARAMETER["Latitude_Of_Origin",36], ⁢<-7
    UNIT["Meter",1.0]]
ID: String (6.0)
UUID: String (28.0)
PRESENCES: Real (11.2)
PRESENCEF: Real (11.2)
FINISHED: Real (11.2)
ORGGILVL: String (4.0)
ORGMDID: String (7.0)
CATEGORY: String (4.0)
FLAG: String (4.0)
TYPE: String (16.0)
NAME: String (12.0)
CODE: String (5.0)

1 ポリゴンデータ
2 範囲がメートル(meter)単位で表示

次の内容で nippon_bmi_akiruno_pgis.map を作成します。

MAP
 NAME nippon_bmi_akiruno_pgis_map
 STATUS ON
 SIZE 600 300
 EXTENT -63063.744614 -34495.938759 -45431.621385 -24289.584360
 UNITS meters
 IMAGECOLOR 255 255 255
 FONTSET "fonts.txt"

 WEB
   IMAGEPATH "/home/user/mapsite/ms_tmp/"
   IMAGEURL "/mapsite/ms_tmp/"
 END

 SCALEBAR
   TRANSPARENT TRUE
 END

 LAYER
   NAME akiruno_kukaku
   GROUP akiruno_kukaku
   TYPE POLYGON
   STATUS ON
   CONNECTIONTYPE POSTGIS # ここからデータに接続するための3行
   CONNECTION "dbname=nippon_bmi host=localhost user=user password='password'"
   DATA "the_geom from akiruno_kukaku"
#   DATA "../mapdata/tokyo/akiruno/13228-20120305-AdmArea.shp"
   CLASS
     NAME "kukaku"
     STYLE
       COLOR 255 255 204
       OUTLINECOLOR 204 204 204
     END
   END
 END
END #MAP

shp2img で地図の確認をします。

user@debian7-vmw:~/mapfile$ shp2img -m nippon_bmi_akiruno_pgis.map -o nippon_bmi_akiruno_pgis.png

MapServer に組み込まれた OpenLayers を使って、マップファイルのテストをします。

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


基盤地図情報
AdmArea.shp のシェイプファイルの内容

user@debian7-vmw:~/mapdata/tokyo$ ogrinfo akiruno
INFO: Open of `akiruno'
      using driver `ESRI Shapefile' successful.
1: 13228-20120305-WL (Line String)
2: 13228-20120305-AdmArea (Polygon)
3: 13228-20120305-WStrA (Polygon)
4: 13228-20120305-AdmBdry (Line String)
5: 13228-20120305-BldL (Line String)
6: 13228-20120305-CommBdry (Line String)
7: 13228-20120305-CommPt (Point)
8: 13228-20120305-AdmPt (Point)
9: 13228-20120305-RailCL (Line String)
10: 13228-20120305-WStrL (Line String)
11: 13228-20120305-RdEdg (Line String)
12: 13228-20120305-RdCompt (Line String)
13: 13228-20120305-WA (Polygon)
14: 13228-20120305-BldA (Polygon)

上記 13228-20120305-AdmArea の内容で
3 座標系 JGD2000(新日本測地系)ゾーン9
4 楕円体 GRS_1980
5 投影法 横メルカトール図法 (tmerc)
6 中央子午線 139.83... (lon_0)
7 原点緯度 36 (lat_0)

を表しています。
/usr/share/proj/epsg から、JGD2000 に関係するコードをみてみます。

user@debian7-vmw:/usr/share/proj$ grep -A1 JGD2000 epsg
# JGD2000
<4612> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs  <>
--
---
# JGD2000 / Japan Plane Rectangular CS IX
<2451> +proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs  <>
---

上は、経緯度表示、下は、平面直角座標系の定義のIXです。
これから、基盤地図情報のあきる野市のEPSGコードは 2451になります。

基盤地図情報のデータを使ったマップファイル例をアップロードしておきます。

nippon_bmi_akiruno_pgis1.map

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

http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=akiruno_kukaku&layer=akiruno_kukaku2&layer=akiruno_kukakusen&layer=akiruno_kenchikuten&layer=akiruno_choaza&layer=akiruno_choazaten&layer=akiruno_suigai&layer=akiruno_kenchiku&layer=akiruno_kenchikusen&layer=akiruno_doro&layer=akiruno_dorokozo&layer=akiruno_kido&layer=akiruno_suigai&layer=akiruno_suiiki&layer=akiruno_suikozo&map=/home/user/mapfile/nippon_bmi_akiruno_pgis1.map

0 件のコメント: