我希望能够将特定区域的openstreetmap数据用作源,并从基础结构改进的地图(主要是道路)中“借鉴”。

我希望它是自托管的(不破坏真实OSM服务器上的任何数据),希望在编辑过程中具有很大的灵活性和细节级别,并且可以在很漂亮。

我对许多GIS软件都不熟悉。实际上,以OSM数据作为源并不重要,它也可以是卫星图像。重要的事情-灵活的绘图绑定到地图的真实坐标和可视化。

我从哪里开始?

希望这个问题在这里有意义:)

评论

您正在寻找什么平台?可以使用Google地图绘制形状吗?

Jared,您是说Google Maps的简单“我的地图”界面吗?这对我来说还不够:)我需要更多细节。还是您还有其他意思?

您想在世界的哪一部分进行此操作?在世界某些地区,公共领域有很多道路数据。

gis.stackexchange.com/questions/10488/…gis.stackexchange.com/questions/1932/…

#1 楼

可以解析OpenStreetMap .osm XML数据类型并将其呈现在许多软件包中。对于有些交钥匙的自定义地图瓷砖抽屉,我建议:http://tiledrawer.com
---一种使用Amazon EC2的产品,由Michal Migurski提供-在该线程中提供了其他指针:)

您还可以查看“构建自己的OpenStreetMap服务器”
http://weait.com/content/build-your-own-openstreetmap-server
它使用Ubuntu 10.04 / PostGIS / Mapnik堆栈。

当然,在构建之前,请务必先查看OpenStreetMap许可。 http://wiki.openstreetmap.org/wiki/OpenStreetMap_License。

评论


谢谢,我自己遇到过TileDrawer,但是据我了解,我需要为此使用Amazon EC2实例。我暂时不想这样做,也许我太懒了:)

– arconaut
2010年7月29日在21:47

我读到您可以使用VirtualBox在自己的计算机上运行EC2映像。

–詹姆斯
2012年2月16日15:59

Tiledrawer的网站被遗弃,Github仓库仍然存在,但也处于非活动状态:github.com/migurski/Tile-Drawer(另请参见OSM Wiki中的信息)

–chrki
18年5月22日在18:11

#2 楼

我确切地找到了我所需要的:Maperitive。此应用程序可以加载OSM数据(* .osm可以由JOSM f.i.保存),并根据非常灵活和可自定义的规则渲染漂亮的图像。

评论


我发现如果尝试加载.osm.bz2文件或什至是.osm.pbf文件,则Maperitive会挂起。我尝试过的文件大约为185MB,所以我真正需要的不是planet.osm.bz2文件(19GB!)的大小。您是如何加载文件的?

–德鲁·诺克斯(Drew Noakes)
2012年1月6日15:09

德鲁,我想我只尝试了较小的区域。

– arconaut
2012年1月6日15:30

Maperitive是封闭源,建立在.Net之上,在Linux上不起作用。但是,与Mapnik相比,它绝对具有一个优势:易于设计。

–万安
2013年1月6日13:15

我建议将TileMill作为开源替代方案。

–万安
2013年1月9日19:33

#3 楼

两种可能性取决于要编辑的OSM数据本身的数量。

一种是托管自己的OSM服务器,并提供可自由编辑的数据副本。用于此目的的软件称为“ Rails端口”,可在以下位置找到:http://wiki.openstreetmap.org/wiki/The_Rails_Port

另一种方法是使用OSM的平铺制图作为背景您自己的数据。我没有资格回答这一问题,但是您可能会发现QGIS(http://www.qgis.org)之类的工具可以基于OSM基本图提供新形状的跟踪。

#4 楼

地图创建分为几个步骤:


输入地理数据(具有适当标签的点,线和面)
样式(指定地图上的要素外观)
渲染为栅格图像(使用渲染软件将地理数据和样式转换为图像)

您想要一个可以在易于使用的UI背后为您完成所有怪癖的工具。但是不幸的是,没有这样的工具(希望会有)。因此,您必须为每个步骤选择一个专用工具。

我使用以下工具/工作流程的组合:

输入/下载地理数据



JOSM编辑器:

从osm服务器下载地图
编辑地图
将更改上传到osm服务器(为什么会这样?您是否要共享您的工作?)
将地图保存到* .osm文件中
将地图导入本地服务器



如果您不想共享工作,则可以设置本地OSM服务器并使JOSM与它(使将地图保存到* .osm文件,而无需使用osm2pgsql)。不过,如果您使用OSM数据的一部分,请注意许可。

样式化

样式化包括两个步骤:


设置图层/数据源
自定义线/多边形/点/文本输出。

有两种样式来设置地图样式:“原始” mapnik样式文件和CartoCSS。 />
Mapnik是为OSM网站提供动力的渲染库。

设置和编辑mapnik样式文件
在mapnik查看器中打开样式文件



“原始” Mapnik样式文件的编辑很麻烦,而CartoCSS则更简单。 CartoCSS(以前为Cascadenik)可转换为mapnik样式文件。 Tilemill是我用来编辑/预览CartoCSS的工具。



Tilemill。

样式/预览tilemill中的地图
导出到mapnik * .xml文件。



渲染


用于mapnik的自定义python脚本

将边界框/缩放级别/大小
将渲染图更新为* .png文件。



[可选]使地图联机

当然,您可以为地图使用一个大* .png文件,但请想象下载它需要多长时间!因此,您可以将地图分成不同缩放级别的图块。




Tilemill-> Mapnik-> MBTiles-> Mapbox


您可以使用Tilemill和MapBox将地图联机。




不幸的是,要根据新的OSM编辑来更新地图,您仍然必须下载并渲染它。

因此,有一个更好的解决方案:CartoDB。 CartoDB支持CartoCSS。有了它,您不需要在本地安装任何东西。只需将您的数据导入其中,使用CartoCSS设置样式,然后单击共享按钮即可。虽然有一个免费的数据库大小限制。
但是由于它是开源的,所以您可以自己托管它。还有一个限制:您只能可视化点,线或多边形。

PS

每种工具都有其自身的局限性,因此请尝试一下。

#5 楼

有关详细说明,请参阅http://codebrainz.ca/index.php/2009/09/27/installing-mapnik-and-friends-on-ubuntu-904/。

评论


谢谢,我实际上可能会对此进行调查。虽然我不是Linux专家,但对我来说可能太痛苦了:)

– arconaut
2010年7月29日在21:51

实际上,本文中提到的大多数工具都可以在Windows或Mac计算机上使用。

–伊恩·特顿♦
2010年7月29日在23:37

#6 楼

如果您正在寻找一个好的自定义地图编辑器,然后看看OCAD,它是一个专业的地图绘制软件。下载页面上有免费的旧版本。

它对OSM没有任何特殊支持,但是您始终可以将从OSM导出的图像用作背景。

#7 楼

您可以使用一个更简单的选项来处理OSM格式的“开放街道地图”数据。您可以从安全软件(www.safe.com)试用FME。有关更多信息,您可以在此处阅读有关OSM支持的信息:http://blog.safe.com/2010/03/sharing- your-on-openstreetmap /

我已经使用FME多次创建演示数据集,以使用FME和OSM数据对我的区域进行训练/>

#8 楼

默认的OSM切片为“ Google切片”格式,称为“切片地图服务(TMS)”。目前,您不能将QGIS用于TMS。但是,您可以通过查看其他第三方服务来访问OSM派生的WMS。一些链接在这里:http://wiki.openstreetmap.org/wiki/WMS#Public_WMS_Servers

评论


您可以在QGIS中使用OpenLayers插件(github.com/sourcepole/qgis-openlayers-plugin)插入OSM磁贴。

–mattwigway
2011年11月24日6:58



#9 楼

您可以使用Cloudmade(OSM的商业机构)的样式编辑器

免费注册并单独使用。

具有非常好的用户界面将能够创建自己的地图样式。
使用颜色等自定义地图后,您可以使用它来嵌入或创建指向具有自定义地图的页面的链接。帖子
http://mapperz.blogspot.com/2009/03/cloudmade-map-editor.html
(此处有更多更新)

评论


Cloudmade不属于OpenStreetMap:CloudMade是否属于OpenStreetMap?

–scruss
13年8月16日在14:20

#10 楼

官方OSM地图使用TileMill进行样式设置,并使用Mapnik进行渲染。两种工具都非常强大和灵活。什么对OSM有好处,对您也应该有好处!有很多关于Ubuntu或Mac的描述,但是论坛中的注释显示,该过程在Windows上很棘手。 TopoMapCreator。

它遵循经典过程:


步骤A:下载并安装所需的软件(主要是Postgresql / PostGis数据库)
步骤B:下载并将OSM数据导入数据库中
步骤C:下载和处理陆地多边形
步骤D:创建TileMill项目
步骤E:使用TileMill样式化并导出地图

有关TopoMapCreator Wiki的更多信息。

#11 楼

使用OSM数据制作自定义地图的另一种方法是使用Mapsense.js库和Mapsense Earth矢量图块。在http://styler.mapsense.co/上有一个用于选择颜色的UI,在developer.mapsense.co/examples/

上有演示css和javascript的演示,像这样的API的一个好处是您可以使用javascript / d3添加其他所需内容(卫星图像,其他geo / topojson等)。

全面披露:我在Mapsense工作。 :)

#12 楼

如果您只想创建静态地图图像,则可能需要检查这种方法以使用.osm来创建.svg inkscape文件,但这有点慢。然后,您可以打开.svg,或者要将其转换为其他任何格式(png?),甚至将其加载到3d studio或Blender:)...有一个可以执行osmarender的插件,但是这次我没有设法运行它……)