如何为初学者从Openstreetmap数据构建图块服务器?


11

我是GIS的初学者,正在开发需要地图的Java应用程序。(该地图具体来说只是菲律宾的一个城市。)我研究了不同的方法,但我发现需要图块服务器来放置地图,因为我需要能够在没有地图的情况下访问地图互联网连接。我是一个初学者,我看过的大多数教程都很复杂,并且步骤尚不知道如何去做。有谁知道任何教程,或者考虑到我是初学者,可以帮助我开始创建tile服务器吗?


是否必须使用Java?
RK 2012年

Answers:


9

对于初学者,有一个非常不错的网站,介绍有关OpenStreetMap的世界,这些网站的重点是来自其他贴图服务的人员,它们可能适合您的问题:http : //switch2osm.org/serving-tiles/

但是,如果您想创建一些图块供离线使用,例如http://www.maptiler.org/,但它专注于栅格数据。

如果必须这样做,我可能会看一下TileMill来创建设计并生成MBTiles文件,然后转换为TMS文件结构,以供OpenLayers或Leaflet在离线模式下使用。

是的,它非常复杂,并且有很多新的(但令人兴奋的!)东西,抱歉。


您好,谢谢您的回覆。如果已经下载了所有需要的图块,那么如何在Java应用程序中使用它们进行映射?抱歉,我是初学者。地图将仅处于离线状态。我已使用Geotools库将地图放入Java应用程序中,但它仅由shapefile组成。这就是为什么我想到的是平铺服务器,但离线的原因。
meebee '02

我不知道GeoTools是否有用于TMS结构的驱动程序,我会发布一个具有更精确描述的新问题,以便人们可以为您提供更好的指导。
豪尔赫·桑兹

4

对于单个城市,Tilemill和Tile Drawer是两个不错的选择:http ://switch2osm.org/serving-tiles/using-an-all-in-one-solution/

Tilemill将为您提供一个“ .mbtiles”文件,这是一个包含所有渲染图块的SQLite3数据库。您还需要为数据开发自定义样式表。

Tile Drawer基本上将为您做所有事情,从而产生一个EC2服务器,您可以使用它来实际渲染图块。如果您使用该服务器SSH并在您所在的区域运行tiletache-seed.py,则可以找到一个目录,其中包含预渲染的拼贴图像,可以将其复制到您需要的任何位置。


2

由于您是初学者,因此建议您使用OpenGeo Suite。它带有GeoServer(地图服务器)和PostGIS(空间数据库)。这是一个集成软件包,因此您不必担心集成问题。我建议您先做这些教程,当您有足够的信心时,请尝试自己的数据或OSM数据。它具有形状文件加载器,因此它应该不会太难。祝好运 :)


2

如果我理解正确,则希望将磁贴放在将运行Java应用程序的同一台计算机上。在这种情况下,您实际上并不需要磁贴Web服务器,您只需要准备Web地图HTML并将其与地图磁贴一起放置在本地磁盘上。然后,您可以使用文件URI方案访问它。

生成图块的一种相当简单的方法是遵循“ Maperitive教程:在十个简单步骤中远足Web地图 ”。


您好,谢谢您的回覆。如果已经下载了所有需要的图块,那么如何在Java应用程序中使用它们进行映射?抱歉,我是初学者。地图将仅处于离线状态。我已使用Geotools库将地图放入Java应用程序中,但它仅由shapefile组成。这就是为什么我想到的是平铺服务器,但离线的原因。
meebee '02

我在Java方面不能为您提供太多帮助,这也很大程度上取决于您需要对地图执行的操作。您可以看一下JOSM的源代码,它是用Java编写的开源OSM映射应用程序。
Igor Brejc'2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.