赞
踩
可以点击进入只下载某个地区或国家: https://download.geofabrik.de/
全球数据:https://planet.openstreetmap.org/
用种子下载最新pbf:
docker run -v $(pwd)/aria2-downloads:/downloads -v $(pwd)/aria2:/config --rm p3terx/aria2-pro \
aria2c https://planet.openstreetmap.org/pbf/planet-latest.osm.pbf.torrent --dir=/downloads
必须-海洋和海洋的多边形shp: https://osmdata.openstreetmap.de/
https://osmdata.openstreetmap.de/download/water-polygons-split-4326.zip 解压*.shp文件放到coastline目录中
可选-其他自然相关数据集(Natural Earth):
https://github.com/fraxen/naturalearth_wagnerVII/
https://www.naturalearthdata.com/
make clean # clean / remove existing build files
make # generate build files
make start-db # start up the database container.
make import-data # Import external data from OpenStreetMapData, Natural Earth and OpenStreetMap Lake Labels.
# make download area=albania # download albania .osm.pbf file -- can be skipped if a .osm.pbf file already existing
make import-osm area=china # import data into postgres
# make import-wikidata # import Wikidata
make import-sql # create / import sql funtions
make generate-bbox-file area=china # compute data bbox -- not needed for the whole planet
make generate-tiles-pg # generate tiles
参考地址:
https://blog.kleunen.nl/blog/tilemaker-generate-map
https://zhuanlan.zhihu.com/p/390797186
git clone https://github.com/systemed/tilemaker.git
cd resources
编辑: process-openmaptiles.lua:
tilemaker v2.0 及以下:
function SetNameAttributes(obj)
if obj:Holds("name:zh") then
obj:Attribute("name:latin", obj:Find("name:zh"))
elseif obj:Holds("name:en") then
obj:Attribute("name:latin", obj:Find("name:en"))
else
obj:Attribute("name:latin", obj:Find("name"))
end
OR
function SetNameAttributes(obj)
obj:Attribute("name:latin", obj:Find("name"))
obj:Attribute("name:en", obj:Find("name:en"))
obj:Attribute("name:zh", obj:Find("name:zh"))
https://docs.osmcode.org/osmium/latest/osmium-extract.html
下载中国边界数据
http://datav.aliyun.com/portal/school/atlas/area_selector#&lat=31.769817845138945&lng=104.29901249999999&zoom=4
重命名为:china_EPSG4326.geojson
新建 extracts.json
{
"extracts": [
{
"output": "/srv/china.osm.pbf",
"description": "China",
"polygon": {
"file_name": "/srv/china_EPSG4326.geojson",
"file_type": "geojson"
}
}
],
"directory": "/srv/tmp/"
}
开始提取
docker run -v $(pwd):/srv --rm blackmount8/osmium-tool osmium extract \
-v -c /srv/extracts.json \
planet-latest.osm.pbf
将 resources下的文件与coastline文件夹放在同一个文件夹下面,执行命令:
docker run -v $(pwd):/srv -v $(pwd)/coastline:/coastline --rm stadtnavi/tilemaker \
/srv/planet-latest.osm.pbf --output=/srv/planet.mbtiles --store=/srv/tmp/ \
--process /srv/process-openmaptiles.lua --config /srv/config-openmaptiles.json \
--threads=10
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。