Tilemill + tilestream + mapbox.js 自制地图

感谢Mapbox,带来了一整套完整的地图方案。

你可以把你的地图放在Mapbox的网站上。也可以使用他们提供的开源软件自己架设地图服务。

Mapbox的地图方案包括web,ios和android。 不过android目前属于不成熟阶段。但是相信很快就会成熟起来。

一个比较舒服的地图自制流程如下:

Qgis 处理各种GIS数据,导出为shp或GeoJson等格式 ==> TileMill 生成 .mbtile ==> tilestream 在线地图服务 或 直接由Android/IOS SDK 渲染地图。

QGIS的使用推荐教程:http://www.qgistutorials.com/en/

TileMill教程:https://www.mapbox.com/tilemill/docs/crashcourse/introduction/

TileStream的资料稍微少些,这里重点讲下。

首先,假设你在TileMill教程中导出的地图文件为abc.mbtile

存放在/Users/fangjian/Documents/MapBox/export

假设你已经安装了nodejs ,然后安装tilestream. 

sudo npm install -g tilestream

装好以后启动服务

tilestream --tiles=/Users/fangjian/Documents/MapBox/export

更多设置参见: http://linuxdev.dk/articles/tilestream-openlayers-and-drupal-7

这个时候访问:http://localhost:8888

已经可以看到地图了。点地图图标进入到地图页面后,点“i"图标可以看到这个地图服务的网址。如:http://localhost:8888/v2/abc/{z}/{x}/{y}.png

下面把这个范例拿来用:https://www.mapbox.com/mapbox.js/example/v1.0.0/external-layers/

保存为mapbox.html

其中的网址部分改成:var stamenLayer = L.tileLayer('http://localhost:8888/v2/abc/{z}/{x}/{y}.png'

打开mapbox.html,就可以看到地图了。


如果使用mapbox.js

对应的tilejson为 http://localhost:8888/v2/abc.json

如果想解包为纯静态的图片,用mbutil https://github.com/mapbox/mbutil

sudo easy_install mbutil

mb-util abc.mbtiles abc

abc/metadata.json为tilejson文件

abc/z/x/y.png是瓦片文件

abc/z/x/y.grid.json是UTFGRID文件

进一步了解详见 http://blog.thematicmapping.org/2012/11/exploring-mapbox-stack-mbtiles-tilejson.html

本文转自博客园知识天地的博客,原文链接:Tilemill + tilestream + mapbox.js 自制地图,如需转载请自行联系原博主。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这些OpenStreetMap地图渲染器各有不同的优缺点,以下是它们的主要区别和特点: 1. Mapnik:Mapnik是最常用的OpenStreetMap地图渲染器之一,它是一个基于C++的高性能渲染引擎,支持多种数据源和渲染方式,可以生成高质量的地图图片和矢量图形。Mapnik的缺点是配置较为复杂,需要一定的编程和地图制作经验。 2. GeoServer:GeoServer是一个基于Java的地理数据服务器,支持多种数据源和渲染方式,包括OpenStreetMap数据渲染。与Mapnik相比,GeoServer更为灵活和易于配置,可以通过Web界面进行管理和发布地图服务。不过,GeoServer的性能相对较低,不适合处理大规模的地图数据。 3. TileMill:TileMill是一个基于Node.js地图样式编辑器和渲染器,支持多种数据源和渲染方式,包括OpenStreetMap数据渲染。TileMill的优点是易于使用和学习,可以通过可视化界面进行地图样式编辑和渲染。缺点是性能较低,不适合处理大规模的地图数据。 4. Kosmtik:Kosmtik是一个基于Node.js地图样式编辑器和渲染器,与TileMill类似,但支持更多的地图数据格式和渲染方式。Kosmtik的优点是易于使用和灵活性较高,可以通过插件扩展功能。缺点是性能较低,不适合处理大规模的地图数据。 5. Osmarender:Osmarender是一个基于XSLT的地图渲染器,可以将OpenStreetMap数据渲染成SVG格式的矢量图形。Osmarender的优点是易于配置和扩展,可以通过XSLT模板进行地图样式的编辑和渲染。缺点是性能较低,不适合处理大规模的地图数据。 需要根据实际需求和技术水平选择合适的地图渲染器。如果需要处理大规模的地图数据或需要高性能的地图渲染,建议选择Mapnik或GeoServer;如果需要快速制作和发布地图,建议选择TileMill或Kosmtik;如果需要矢量图形渲染或需要自定义地图样式,建议选择Osmarender。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值