植生図をタイルにする
OSGeo4W
python-shaplyを入れておく
mapnik本体
http://mapnik.org/news/2011/11/29/windows-binaries-progress/
windows版mapnikをダウンロード
C:\におく
set PATH=%PATH%;c:\mapnik-2.0.1rc0\lib
set PYTHONPATH=%PYTHONPATH%;c:\mapnik-2.0.1rc0\python\2.7\site-packages;
タイル化プログラム
svnをインストール
http://sourceforge.net/projects/win32svn/files/latest/download
svn checkout http://svn.openstreetmap.org/applications/rendering/mapnik
植生
utfに変換しておく
ogr2ogr p574036utf.shp p574036.shp -lco ENCODING=UTF-8
python polytiles_utfgrid.py -b 140.746576 38.252969 140.871570 38.336295 -s map.xml -z 10 10 -f HANREI_N
<?xml version="1.0" encoding="utf-8"?> <Map srs="+init=epsg:3857" background-color="rgb(255,255,255)"> <Style name="veg"> <Rule> <Filter>[DAI_C] = '01'</Filter> <PolygonSymbolizer fill="rgb(128,153,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '02'</Filter> <PolygonSymbolizer fill="rgb(234,215,252)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '03'</Filter> <PolygonSymbolizer fill="rgb(128,0,102)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '04'</Filter> <PolygonSymbolizer fill="rgb(25,76,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '05'</Filter> <PolygonSymbolizer fill="rgb(36,87,61)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '06'</Filter> <PolygonSymbolizer fill="rgb(153,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '07'</Filter> <PolygonSymbolizer fill="rgb(242,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '08'</Filter> <PolygonSymbolizer fill="rgb(153,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '09'</Filter> <PolygonSymbolizer fill="rgb(255,204,51)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '10'</Filter> <PolygonSymbolizer fill="rgb(255,140,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '11'</Filter> <PolygonSymbolizer fill="rgb(115,217,115)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '12'</Filter> <PolygonSymbolizer fill="rgb(204,242,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '13'</Filter> <PolygonSymbolizer fill="rgb(204,255,140)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '14'</Filter> <PolygonSymbolizer fill="rgb(0,76,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '15'</Filter> <PolygonSymbolizer fill="rgb(153,102,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '16'</Filter> <PolygonSymbolizer fill="rgb(89,255,179)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '17'</Filter> <PolygonSymbolizer fill="rgb(102,64,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '18'</Filter> <PolygonSymbolizer fill="rgb(0,76,168)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '19'</Filter> <PolygonSymbolizer fill="rgb(153,82,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '20'</Filter> <PolygonSymbolizer fill="rgb(230,179,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '21'</Filter> <PolygonSymbolizer fill="rgb(240,128,25)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '22'</Filter> <PolygonSymbolizer fill="rgb(204,255,128)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '23'</Filter> <PolygonSymbolizer fill="rgb(217,115,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '24'</Filter> <PolygonSymbolizer fill="rgb(242,166,38)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '25'</Filter> <PolygonSymbolizer fill="rgb(255,204,51)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '26'</Filter> <PolygonSymbolizer fill="rgb(255,140,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '27'</Filter> <PolygonSymbolizer fill="rgb(25,217,64)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '28'</Filter> <PolygonSymbolizer fill="rgb(0,76,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '29'</Filter> <PolygonSymbolizer fill="rgb(191,102,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '30'</Filter> <PolygonSymbolizer fill="rgb(28,217,89)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '31'</Filter> <PolygonSymbolizer fill="rgb(89,64,255)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '32'</Filter> <PolygonSymbolizer fill="rgb(51,115,242)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '33'</Filter> <PolygonSymbolizer fill="rgb(166,89,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '34'</Filter> <PolygonSymbolizer fill="rgb(102,166,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '35'</Filter> <PolygonSymbolizer fill="rgb(0,158,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '36'</Filter> <PolygonSymbolizer fill="rgb(38,128,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '37'</Filter> <PolygonSymbolizer fill="rgb(0,76,102)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '38'</Filter> <PolygonSymbolizer fill="rgb(179,102,102)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '39'</Filter> <PolygonSymbolizer fill="rgb(204,25,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '40'</Filter> <PolygonSymbolizer fill="rgb(51,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '41'</Filter> <PolygonSymbolizer fill="rgb(140,217,140)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '42'</Filter> <PolygonSymbolizer fill="rgb(191,102,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '43'</Filter> <PolygonSymbolizer fill="rgb(179,92,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '44'</Filter> <PolygonSymbolizer fill="rgb(255,191,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '45'</Filter> <PolygonSymbolizer fill="rgb(255,235,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '46'</Filter> <PolygonSymbolizer fill="rgb(255,140,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '47'</Filter> <PolygonSymbolizer fill="rgb(242,140,230)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '48'</Filter> <PolygonSymbolizer fill="rgb(13,102,230)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '49'</Filter> <PolygonSymbolizer fill="rgb(245,143,92)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '50'</Filter> <PolygonSymbolizer fill="rgb(240,240,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '51'</Filter> <PolygonSymbolizer fill="rgb(242,242,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '52'</Filter> <PolygonSymbolizer fill="rgb(217,230,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '53'</Filter> <PolygonSymbolizer fill="rgb(255,112,219)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '54'</Filter> <PolygonSymbolizer fill="rgb(179,153,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '55'</Filter> <PolygonSymbolizer fill="rgb(255,153,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '56'</Filter> <PolygonSymbolizer fill="rgb(242,255,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '57'</Filter> <PolygonSymbolizer fill="rgb(230,255,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[DAI_C] = '58'</Filter> <PolygonSymbolizer fill="rgb(153,168,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <ElseFilter/> <PolygonSymbolizer fill="rgb(0,0,0)"/> <LineSymbolizer stroke="rgb(0,0,0)" stroke-width="0.1"/> </Rule> </Style> <Style name="veg_label"> <Rule> <TextSymbolizer face-name="unifont Medium" size="10" fill="rgb(0,0,0)" halo-radius="1" avoid-edges="true">[HANREI_N]</TextSymbolizer> </Rule> </Style> <Layer name="world" srs="+init=epsg:4326"> <StyleName>veg</StyleName> <StyleName>veg_label</StyleName> <Datasource> <Parameter name="encoding">UTF-8</Parameter> <Parameter name="file">C:\vg_\p574036\p574036utf.shp</Parameter> <Parameter name="type">shape</Parameter> </Datasource> </Layer> </Map>
SQLite(Spatialiteの場合)
<?xml version="1.0" encoding="utf-8"?> <Map srs="+init=epsg:3857" background-color="rgb(255,255,255)"> <Style name="veg"> <Rule> <Filter>[dai_c] = '01'</Filter> <PolygonSymbolizer fill="rgb(128,153,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '02'</Filter> <PolygonSymbolizer fill="rgb(234,215,252)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '03'</Filter> <PolygonSymbolizer fill="rgb(128,0,102)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '04'</Filter> <PolygonSymbolizer fill="rgb(25,76,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '05'</Filter> <PolygonSymbolizer fill="rgb(36,87,61)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '06'</Filter> <PolygonSymbolizer fill="rgb(153,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '07'</Filter> <PolygonSymbolizer fill="rgb(242,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '08'</Filter> <PolygonSymbolizer fill="rgb(153,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '09'</Filter> <PolygonSymbolizer fill="rgb(255,204,51)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '10'</Filter> <PolygonSymbolizer fill="rgb(255,140,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '11'</Filter> <PolygonSymbolizer fill="rgb(115,217,115)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '12'</Filter> <PolygonSymbolizer fill="rgb(204,242,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '13'</Filter> <PolygonSymbolizer fill="rgb(204,255,140)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '14'</Filter> <PolygonSymbolizer fill="rgb(0,76,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '15'</Filter> <PolygonSymbolizer fill="rgb(153,102,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '16'</Filter> <PolygonSymbolizer fill="rgb(89,255,179)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '17'</Filter> <PolygonSymbolizer fill="rgb(102,64,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '18'</Filter> <PolygonSymbolizer fill="rgb(0,76,168)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '19'</Filter> <PolygonSymbolizer fill="rgb(153,82,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '20'</Filter> <PolygonSymbolizer fill="rgb(230,179,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '21'</Filter> <PolygonSymbolizer fill="rgb(240,128,25)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '22'</Filter> <PolygonSymbolizer fill="rgb(204,255,128)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '23'</Filter> <PolygonSymbolizer fill="rgb(217,115,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '24'</Filter> <PolygonSymbolizer fill="rgb(242,166,38)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '25'</Filter> <PolygonSymbolizer fill="rgb(255,204,51)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '26'</Filter> <PolygonSymbolizer fill="rgb(255,140,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '27'</Filter> <PolygonSymbolizer fill="rgb(25,217,64)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '28'</Filter> <PolygonSymbolizer fill="rgb(0,76,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '29'</Filter> <PolygonSymbolizer fill="rgb(191,102,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '30'</Filter> <PolygonSymbolizer fill="rgb(28,217,89)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '31'</Filter> <PolygonSymbolizer fill="rgb(89,64,255)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '32'</Filter> <PolygonSymbolizer fill="rgb(51,115,242)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '33'</Filter> <PolygonSymbolizer fill="rgb(166,89,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '34'</Filter> <PolygonSymbolizer fill="rgb(102,166,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '35'</Filter> <PolygonSymbolizer fill="rgb(0,158,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '36'</Filter> <PolygonSymbolizer fill="rgb(38,128,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '37'</Filter> <PolygonSymbolizer fill="rgb(0,76,102)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '38'</Filter> <PolygonSymbolizer fill="rgb(179,102,102)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '39'</Filter> <PolygonSymbolizer fill="rgb(204,25,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '40'</Filter> <PolygonSymbolizer fill="rgb(51,179,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '41'</Filter> <PolygonSymbolizer fill="rgb(140,217,140)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '42'</Filter> <PolygonSymbolizer fill="rgb(191,102,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '43'</Filter> <PolygonSymbolizer fill="rgb(179,92,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '44'</Filter> <PolygonSymbolizer fill="rgb(255,191,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '45'</Filter> <PolygonSymbolizer fill="rgb(255,235,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '46'</Filter> <PolygonSymbolizer fill="rgb(255,140,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '47'</Filter> <PolygonSymbolizer fill="rgb(242,140,230)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '48'</Filter> <PolygonSymbolizer fill="rgb(13,102,230)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '49'</Filter> <PolygonSymbolizer fill="rgb(245,143,92)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '50'</Filter> <PolygonSymbolizer fill="rgb(240,240,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '51'</Filter> <PolygonSymbolizer fill="rgb(242,242,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '52'</Filter> <PolygonSymbolizer fill="rgb(217,230,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '53'</Filter> <PolygonSymbolizer fill="rgb(255,112,219)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '54'</Filter> <PolygonSymbolizer fill="rgb(179,153,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '55'</Filter> <PolygonSymbolizer fill="rgb(255,153,76)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '56'</Filter> <PolygonSymbolizer fill="rgb(242,255,0)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '57'</Filter> <PolygonSymbolizer fill="rgb(230,255,204)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <Filter>[dai_c] = '58'</Filter> <PolygonSymbolizer fill="rgb(153,168,153)"/> <LineSymbolizer stroke="rgb(128,128,128)" stroke-width="0.5"/> </Rule> <Rule> <ElseFilter/> <PolygonSymbolizer fill="rgb(0,0,0)"/> <LineSymbolizer stroke="rgb(0,0,0)" stroke-width="0.1"/> </Rule> </Style> <Style name="veg_label"> <Rule> <TextSymbolizer face-name="unifont Medium" size="10" fill="rgb(0,0,0)" halo-radius="1" avoid-edges="true">[hanrei_n]</TextSymbolizer> </Rule> </Style> <Layer name="world" srs="+init=epsg:3857"> <StyleName>veg</StyleName> <StyleName>veg_label</StyleName> <Datasource> <Parameter name="encoding">UTF-8</Parameter> <Parameter name="file">C:\vg_\veg.sqlite</Parameter> <Parameter name="table">p574036</Parameter> <Parameter name="type">sqlite</Parameter> </Datasource> </Layer> </Map>
その2
日本全国の植生図(第5回)をタイルにします。
http://www.biodic.go.jp/trialSystem/shpddl.html
OSGeo4Wをインストールしておきます。
以下のコマンドをveg.batで保存します。
SET SHAPE_ENCODING=CP932 for %%A in (%1) do ogr2ogr -gt 65536 -append -nlt polygon -s_srs epsg:4612 -t_srs epsg:3857 -f SQLite veg.sqlite %%A -dsco SPATIALITE=YES
※投影法をgoogleメルカトルにしています。
※元データには、マルチポリゴンが混ざっているので、すべてポリゴンにしています。
※日本語はShift_JISで作成されているので、SET SHAPE_ENCODING=CP932 してあります。
shpフォルダの中に第5回植生図のshpを入れておきます。(例えば vg_02a.shp)
以下のコマンドで veg.sqliteに各県ごとにインポートします。
veg.bat shp\*.shp
spatialiteで以下のsqlコマンドを実行して、植生データを統合します。
spatialiteはここから(spatialite_gui-1.6.0-win-x86.zip)
http://www.gaia-gis.it/gaia-sins/windows-bin-x86/
create table veg( OGC_FID INTEGER PRIMARY KEY, MAJOR1 INTEGER, NAME VARCHAR, GEOMETRY POLYGON )
INSERT INTO veg(MAJOR1,NAME,GEOMETRY) SELECT MAJOR1,NAME,GEOMETRY FROM "vg_02a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_03a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_04a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_05a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_06a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_07a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_08a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_09a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_10a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_11a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_12a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_13a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_14a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_15a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_16a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_17a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_18a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_19a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_20a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_21a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_22a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_23a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_24a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_25a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_26a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_27a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_28a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_29a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_30a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_31a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_32a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_33a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_34a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_35a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_36a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_37a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_38a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_39a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_40a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_41a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_42a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_43a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_44a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_45a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_46a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_47a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_51a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_52a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_53a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_54a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_55a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_56a" UNION ALL SELECT MAJOR1,NAME,GEOMETRY FROM "vg_57a"
vg_a.csvに植生区分、大区分を追加
spatialiteでload csvで読み込み
以下のコマンドでvegとvg_aを結合
create table vegetation( OGC_FID INTEGER PRIMARY KEY, GEOMETRY POLYGON, SYOKU_C INTEGER, SYOKU_N VARCHAR, DAI_C INTEGER, DAI_N VARCHAR, HANREI_C INTEGER, HANREI_N VARCHAR ) INSERT INTO vegetation(GEOMETRY,SYOKU_C,SYOKU_N,DAI_C,DAI_N,HANREI_C,HANREI_N) SELECT GEOMETRY,syoku_c,syoku_n,dai_c,dai_n,veg.MAJOR1 ,veg.name FROM veg,vg_a where veg.major1 = vg_a.major1
spatilaiteでrecovery geometry で srid 3857 タイプ ポリゴンにして、リカバリーします。
build spatial index で indexを作成します。
※vegのmajor1には0,3839,1987の値があるが、vg_a.csvには無い。そのため合計6個のポリゴンは
削除される。
できあがったら、個別のテーブルは削除します。
delete.sqlとして保存してspatiliteからexecute sql scriptを実行
drop table vg_02a; drop table vg_03a; drop table vg_04a; drop table vg_05a; drop table vg_06a; drop table vg_07a; drop table vg_08a; drop table vg_09a; drop table vg_10a; drop table vg_11a; drop table vg_12a; drop table vg_13a; drop table vg_14a; drop table vg_15a; drop table vg_16a; drop table vg_17a; drop table vg_18a; drop table vg_19a; drop table vg_20a; drop table vg_21a; drop table vg_22a; drop table vg_23a; drop table vg_24a; drop table vg_25a; drop table vg_26a; drop table vg_27a; drop table vg_28a; drop table vg_29a; drop table vg_30a; drop table vg_31a; drop table vg_32a; drop table vg_33a; drop table vg_34a; drop table vg_35a; drop table vg_36a; drop table vg_37a; drop table vg_38a; drop table vg_39a; drop table vg_40a; drop table vg_41a; drop table vg_42a; drop table vg_43a; drop table vg_44a; drop table vg_45a; drop table vg_46a; drop table vg_47a; drop table vg_51a; drop table vg_52a; drop table vg_53a; drop table vg_54a; drop table vg_55a; drop table vg_56a; drop table vg_57a; drop table veg; drop table idx_vg_02a_Geometry; drop table idx_vg_03a_Geometry; drop table idx_vg_04a_Geometry; drop table idx_vg_05a_Geometry; drop table idx_vg_06a_Geometry; drop table idx_vg_07a_Geometry; drop table idx_vg_08a_Geometry; drop table idx_vg_09a_Geometry; drop table idx_vg_10a_Geometry; drop table idx_vg_11a_Geometry; drop table idx_vg_12a_Geometry; drop table idx_vg_13a_Geometry; drop table idx_vg_14a_Geometry; drop table idx_vg_15a_Geometry; drop table idx_vg_16a_Geometry; drop table idx_vg_17a_Geometry; drop table idx_vg_18a_Geometry; drop table idx_vg_19a_Geometry; drop table idx_vg_20a_Geometry; drop table idx_vg_21a_Geometry; drop table idx_vg_22a_Geometry; drop table idx_vg_23a_Geometry; drop table idx_vg_24a_Geometry; drop table idx_vg_25a_Geometry; drop table idx_vg_26a_Geometry; drop table idx_vg_27a_Geometry; drop table idx_vg_28a_Geometry; drop table idx_vg_29a_Geometry; drop table idx_vg_30a_Geometry; drop table idx_vg_31a_Geometry; drop table idx_vg_32a_Geometry; drop table idx_vg_33a_Geometry; drop table idx_vg_34a_Geometry; drop table idx_vg_35a_Geometry; drop table idx_vg_36a_Geometry; drop table idx_vg_37a_Geometry; drop table idx_vg_38a_Geometry; drop table idx_vg_39a_Geometry; drop table idx_vg_40a_Geometry; drop table idx_vg_41a_Geometry; drop table idx_vg_42a_Geometry; drop table idx_vg_43a_Geometry; drop table idx_vg_44a_Geometry; drop table idx_vg_45a_Geometry; drop table idx_vg_46a_Geometry; drop table idx_vg_47a_Geometry; drop table idx_vg_51a_Geometry; drop table idx_vg_52a_Geometry; drop table idx_vg_53a_Geometry; drop table idx_vg_54a_Geometry; drop table idx_vg_55a_Geometry; drop table idx_vg_56a_Geometry; drop table idx_vg_57a_Geometry; drop table idx_veg_Geometry; VACUUM;
postGISにvg_02aデータベースを作成してsqliteからコピー
sudo -u postgres createdb -T template_postgis vg_02a
sudo -u postgres ogr2ogr -f PostgreSQL PG:dbname=vg_02a vg_02a.sqlite
タイル化
sudo node index.js export vegetation /usr/share/mapbox/export/vegetation.mbtiles --format=mbtiles --bbox=122.9,20.4,154,45.6 --minzoom=1 --maxzoom=3 --metatile=2 --scale=1 --scheme=pyramid --quiet --files=/usr/share/mapbox/