(这里所说的步骤均是在windows下完成的)
一、渲染准备:
1)在利用Tilemill渲染osm数据的过程中,涉及到的软件主要有:
①PostgreSQL
9.4(带PostGis)
②osm2pgsql
③Python2.7
④TileMill
⑤mapnik-v2.2.0
⑥shapeindex(建立索引的工具)
2)渲染所需的文件包括:
①osm格式数据(这里以上海的osm数据为例)
地址:http://osm-extracted-metros.s3.amazonaws.com/shanghai.osm.bz2
将下载完成的数据放到D:\temp文件夹中去。
②渲染所需的shp文件(下载地址可见超链接)
ne_110m_admin_0_boundary_lines_land.shp
ne_10m_populated_places_fixed.shp
将下载完成的文件放到D:\temp\landpolygons文件夹中去
3)软件的安装
①TileMill的安装
下载地址:https://www.mapbox.com/tilemill/
② PostgreSQL和PostGis的安装
下载地址:http://www.bigsql.org/postgresql/installers.jsp
安装教程:
③osm2pgsql的安装
下载对应文件即可,地址为:http://customdebug.com/osm/osm2pgsql.zip
将下载的文件解压到D:\temp文件夹中去。
下载对应的style文件,地址:
https://github.com/openstreetmap/osm2pgsql/blob/master/default.style
将下载了的文件放到D:\temp文件夹中去。
④Python2.7的安装
下载地址为:
https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi
⑤mapnik-v2.2.0的安装:
下载地址为:
http://mapnik.s3.amazonaws.com/dist/v2.2.0/mapnik-win-sdk-v2.2.0.zip
⑥shapeindex的下载:
下载对应的文件即可,地址为:
http://mapnik.s3.amazonaws.com/dist/archive/shapeindex-2.2.0-win-x86_32.zip
二、将osm数据导入到数据库中
osm数据如何导入的postgis中去的具体步骤可见之前的总结,这里将上海的数据导入的postgis中去,数据名为shanghai:
三、建立索引
①将shapeindex放到D:\temp\landpolygons文件夹中去。
②打开mapnik2.2.0所在目录,将所有.dll文件放到D:\temp\landpolygons文件夹中去(建议用搜索)。
③cd到D:\temp\landpolygons,执行以下两个命令:
shapeindexsimplified_land_polygons.shp
shapeindexland_polygons.shp
可以得到对应的shp文件的索引文件:
四、创建对应的TileMill文件
①下载 OSM-Bright CartoCSS zip file,将它解压到 D:\Temp\OsmBright
②打开D:\temp\OsmBright\mapbox-osm-bright-f1c8780,创建一个configure.py的python文件,并将configure.py.sample中的内容拷贝到个configure.py中去,打开configure.py,注意以下内容:
修改为:
(这部分内容要根据自己建立的数据库来进行修改)
③cd到D:\temp\OsmBright\mapbox-osm-bright-f1c8780,输入:
python make.py,随后,在Tilemill的project文件夹下会得到对应的文件
④将索引文件,连同simplified-land-polygons.shp、land-polygon.shp这两个文件夹里面的文件,放到C:\Users\Administrator\Documents\MapBox\project\shanghai
中去。
⑤在D:\temp\OsmBright\mapbox-osm-bright-f1c8780中建立一个shp的文件夹,将之前下载的shp文件放入其中。
⑤打开Tilemill,可以在目录中看到shanghai
运行即可得到想要的地图。