【JOSM】Java OpenStreetMap地图编辑

OpenStreetMap的离线编辑器——JOSM。

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

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

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

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

4、编辑地图,选取要编辑区域的范围,把相应区域下载下来,这样就可以离线编辑了。也可以先在osm官网下载地图,然后导入JOSM进行编辑。

在这里插入图片描述
左边4个分别是与地图资源相关的(打开、保存、下载、上传)。后面几个常用操作按钮。最后几个是一些常用的添加属性。

在这里插入图片描述
几个节点(nodes)常用的操作,第一个为:选择已有节点;第二个是:添加新节点;第三个是:地图的操作。

在这里插入图片描述
这是几个软件界面显示的设置。

在这里插入图片描述
界面的右边主要是各种信息窗口。

在这里插入图片描述
点击“编辑”,“首选项”的“地球”,输入上节注册的用户名和密码即可上传地图。

5.地图的移动可以通过点击鼠标右键实现。鼠标点击的动作主要通过修改节点操作来实现。可以通过单击菜单栏的“图像”来选择地图的背景。

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

6.最后点击保存那个按钮,软件便以.osm格式将文件保存在指定位置。

### Java OpenStreetMap 解析库 对于处理和解析 OpenStreetMap 数据,在 Java 生态系统中有多个可用的库可以满足需求。 #### osmosis osmosis 是一个功能强大的命令行应用程序以及一组可重用的 Java 类,旨在转换和操作 OSM 数据[^1]。它支持读取、写入、过滤和其他多种操作来处理 OSM 文件。虽然主要用于批处理任务,但是其内部类也可以被集成到其他项目中作为解析器使用。 #### JOSM (Java OpenStreetMap Editor) JOSM 提供了一套完整的 API 来访问地图数据结构并执行各种编辑操作。尽管主要是为了开发桌面版的地图编辑器而设计,不过其中许多组件可以直接应用于服务器端应用当中完成数据加载与保存等功能。 #### libOsmosis libOsmosis 是从 osmosis 中提取出来的核心库,允许开发者更方便地利用 OSM 数据流进行自定义的应用程序构建工作。这个库简化了很多复杂流程,并提供了更好的灵活性给使用者去实现特定业务逻辑。 ```java // 使用 libOsmosis 进行简单的节点读取示例 import org.openstreetmap.osmosis.core.Osmosis; import org.openstreetmap.osmosis.core.container.v0_6.EntityContainer; import org.openstreetmap.osmosis.core.domain.v0_6.Node; public class SimpleNodeReader { public static void main(String[] args) throws Exception { // 创建一个新的管道配置实例 PipelineConfiguration pipelineConfig = new DefaultPipelineConfiguration(); // 添加输入源(例如 PBF 或 XML) FileInputSource fileInputSource = new FileInputSource(new File("input-file.pbf")); // 设置实体处理器以接收每个节点事件 EntityProcessor entityProcessor = new EntityProcessor() { @Override public void process(EntityContainer container) { if (container.getEntity() instanceof Node node) { System.out.println("Found node with id=" + node.getId()); } } @Override public CompleteCallback complete() {return null;} @Override public FlushCallback flush() {return null;} }; // 构建并运行整个流水线 Osmosis.run(pipelineConfig, Arrays.asList(fileInputSource), Collections.singletonList(entityProcessor)); } } ``` 除了上述提到的选择之外还有像 `imposm-parser` 和 `openstreetmap-flit` 等开源项目也能够很好地胜任这项任务[^3]。这些工具各有特点,可以根据具体应用场景和个人偏好做出合适的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值