OpenStreetMap初探(五)——地图编辑之JOSM

JOSM离线地图编辑
本文介绍如何使用JOSM进行离线地图编辑,包括安装配置步骤、基本操作指南及绘制地图的方法。JOSM是一款强大的地图编辑工具,支持GPS轨迹绘图和地图细节添加。
该文章已生成可运行项目,

在官方给出的地图编辑器对比中(http://wiki.openstreetmap.org/wiki/Comparison_of_editors),可以看出Potlatch还是功能有些不足,且不支持离线编辑。下面研究一下osm的离线编辑器——JOSM。

JOSM 特色:最原汁原味的编辑器。最适合使用GPS轨迹绘图和在已有地图添加细节。有大量插件可以自动化常用操作。

1、JOSM需要Java 6的支持,没有安装的需要先安装一下。

2、安装好java环境后,可以在这下载最新版的JOSM:http://josm.openstreetmap.de/

不方便的朋友可以在我上传的资源中下载(http://download.csdn.net/detail/scy411082514/4251921)。

3、下载完成后,直接双击打开就可以了。

软件界面还是比较友好的。

4、既然要编辑地图,与上节中使用Potlatch类似,需要选取要编辑区域的范围。对于JOSM,可以把相应区域下载下来,这样就可以离线编辑了。点击下载按钮,然后在弹出的对话框中选择要下载地图数据的范围。注意不要选择范围过大,这样可能会被服务器拒绝。

点击下载后开始下载,稍等片刻,下载完毕。


关于软件的使用,因为菜单栏涵盖了所有的功能,先暂且不看。先挑重要的(一般是显示在界面上的小工具图标)来看看。

先看最上面的工具栏:


左边4个分别是与地图资源相关的(打开、保存、下载、上传)。后面几个常用操作按钮。最后几个是一些常用的添加属性。鼠标放上面看看弹出的信息基本就清楚了。

然后是左边的工具栏:

 这几个节点(nodes)常用的操作,第一个为:选择已有节点;第二个是:添加新节点;第三个是:地图的操作。下面几个比较简单,试一下就会了。在这也看出了nodes在osm中的重要性。关于nodes可以参看(二)的内容。


这主要是几个软件界面显示的设置。


界面的右边主要是各种信息窗口。

5、与Potlatch类似,需要对用户进行验证(这个工作也可以放在上传地图的时候)。


点击“编辑”,“首选项”的“地球”,输入上节注册的用户名和密码即可。

6、至此,所有准备工作均已结束,下面就开始尽情的制作我们的地图吧~~~

JOSM与Potlatch的移动操作有些不同。地图的移动可以通过点击鼠标右键实现(后者键盘的ctrl+方向键)。鼠标点击的动作主要通过修改节点操作来实现(见上面)。可以通过单击菜单栏的“图像”来选择地图的背景。

我们选择“绘制节点”按钮,通过点击添加点来绘制一个矩形。然后在上面的工具栏选择属性即可。工具栏的属性可能不全。添加属性也可以通过点击菜单栏的“预设组合”来进行详细选择。如下,绘制了一个矩形并设置属性为树林。


7、绘图能力有限,就不献丑了。绘制完地图后,点击上传服务器即可将自己绘制的地图上传。如果想保存在本地而不上传,则点击保存那个按钮,软件便以.osm格式将文件保存在指定位置。

8、上传成功后,等地图服务器将我们制作的地图切图制作出来后,便可以在地图中看到我们制作的地图了。


本文章已经生成可运行项目
OpenStreetMap (OSM)中编辑地图数据是一项开放且协作的任务,任何人都可以参与其中,以确保地图数据的准确性和完整性。以下是如何使用OpenStreetMap编辑地图数据的详细流程和指南: ### 1. 注册账户 在开始编辑之前,需要在[OpenStreetMap官网](https://www.openstreetmap.org/)注册一个账户。注册过程简单,只需提供有效的电子邮件地址并设置密码即可。 ### 2. 熟悉地图编辑OpenStreetMap 提供了多种地图编辑工具,其中最常用的是 **iD编辑器** 和 **JOSMJava OpenStreetMap Editor)**。iD 是一个基于浏览器的编辑器,适合初学者;而 JOSM 是一个功能更强大的桌面应用程序,适合高级用户。 - **iD编辑器**:直接在 OpenStreetMap 网站上点击“编辑”按钮即可启动 iD 编辑器。它提供了一个直观的界面,用户可以通过点击、拖动和绘制来添加或修改地图要素。 - **JOSM**:需要下载并安装。它支持更复杂的编辑任务,并且可以通过插件扩展功能,适合需要频繁编辑或处理大量数据的用户。 ### 3. 遵循编辑指南 在编辑地图数据时,必须遵循 OSM 社区制定的“风格指南”(Style Guide)。这些指南详细说明了如何正确标记道路、建筑物、水系等地理要素,以确保所有数据的一致性和可读性。例如,不同类型的道路上应使用不同的标签,建筑物的轮廓应准确绘制,避免重叠等。 ### 4. 开始编辑 在选择好编辑器后,可以开始进行地图编辑。以下是基本的编辑步骤: - **定位到目标区域**:在地图上找到需要编辑的区域。 - **查看现有数据**:检查该区域的现有地图数据,确保不会重复添加或覆盖已有信息。 - **添加或修改要素**: - **添加道路**:使用绘制工具沿卫星图像或背景地图绘制道路。 - **添加建筑物**:绘制建筑物的轮廓,并为每个建筑物添加适当的标签(如名称、用途等)。 - **修改现有要素**:如果发现错误或过时的信息,可以进行修改,例如更正道路名称或调整道路的走向。 - **保存更改**:完成编辑后,点击“保存”按钮将更改提交到 OSM 数据库。在保存时,系统会要求输入更改的描述,以便其他用户了解你的编辑内容。 ### 5. 数据验证与协作 编辑完成后,建议查看其他用户的编辑内容,或者邀请他人检查你的编辑。OSM 社区鼓励用户之间进行协作和反馈,以确保数据的质量和准确性。用户可以通过“历史”功能查看某个区域的编辑记录,也可以通过“讨论”功能与其他用户交流。 ### 6. 使用高级工具(可选) 对于需要处理大量数据或进行复杂编辑的用户,可以使用 Overpass API 或其他第三方工具来辅助编辑。例如,Overpass API 可以用于查询特定区域内的地图数据,帮助用户快速定位需要编辑的要素。 ### 7. 参与社区活动 OpenStreetMap 社区定期举办“地图马拉松”(Mapathon)等活动,鼓励用户共同参与地图数据的完善。这些活动通常有明确的目标,例如为某个灾区绘制详细的地形图,帮助救援工作。 ### 示例代码:使用 Overpass API 查询道路数据 ```python import requests import json # Overpass API 查询示例:获取某个区域内的道路数据 overpass_url = "http://overpass-api.de/api/interpreter" query = """ [out:json][timeout:25]; ( way["highway"]({{bbox}}); ); out body; >; out skel qt; """ response = requests.get(overpass_url, params={'data': query}) data = response.json() print(json.dumps(data, indent=2)) ``` ###
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值