OSM初识(二)JOSM


OSM初识(二)

2017/9/26

 

 by

CHENJING DING



CHAPTER2 – JOSM


一下载安装JOSM

JOSM:用来编辑地图的软件,比id编辑(浏览器编辑OSM)更加强大

下载地址:josm.openstreetmap.de确保已经安装好JDK,然后直接安装JOSM就好。

二 JOSM初步使用

以sample.osm为例,链接为 sample.osm

打开JOSM-open-sample.osm文件(这是虚构的地图,所进行的任何操作都不要保存)

                                                                                                                                                                                                                                                                基本操作

移动地图

右键并移动鼠标

放大/缩小

鼠标滚轮移动

选中目标

左击目标

移动目标

左击整个形状(closedways)不放,移动鼠标

改变目标形状

左击目标way上的点,移动鼠标

分析地图,有两个点,分别为shoe shop和supermarket。线段表示道路,道路上面也存在一些点,这些点没有实际意义,只是为了定位道路。一些形状表示地点(forest,park,building,river)。右边界面出现Tag。

菜单和按钮简介


如何下载你的地图

点击download按钮,出现如下界面后,选择合适的区域(粉红色框内)点击下载。


如何加载卫星地图

点击菜单栏图像-Bing航拍图像,可以帮助我们更准确的定位

如何添加一个新的目标

注意:编辑地图之间总是下载最新的地图。点击图标绘制节点,在没有任何现有目标选中的情况下,画一个新的目标。选中该目标,(注意:不要一起选中点和线,见下图,这样本来不同属性的目标会被你改成相同属性)在菜单栏,点击预设组合(Preset),选择相应的类别,在弹出的窗口填写必要的信息,点击确认即可创建成功。


如何保存你的操作

点击UPLOAD按钮,在弹出的窗口点击uploadchanges

三 Editing Field Data

Layers

卫星图像,GPS轨迹,实地测量图(Fieldpapaers?)这些都是“基层”。它们都是用来参考的。而OSM数据层(一般默认叫做DataLayer 1)是你编辑的层。

按钮简介


### OSM 数据集的维表示与处理方法 OSM(OpenStreetMap)数据通常以XML格式存储,其中包含了地理要素如节点、路径和关系。为了实现OSM数据的维表示及处理,可以采用多种技术和工具。 #### 使用Python库进行OSM数据解析 对于OSM文件中的信息提取,`osmium` 和 `geopandas` 是两个常用的Python库。通过这些库可以从`.osm` 文件读取并转换成易于操作的数据结构[^1]。 ```python import osmnx as ox place_name = 'Forbidden City, Beijing' graph = ox.graph_from_place(place_name, network_type='walk') fig, ax = ox.plot_graph(graph) ``` 上述代码展示了如何使用`osmnx`来获取特定地点的地图网络,并绘制其图形化展示图。这不仅限于道路网,还可以扩展至其他类型的地理实体。 #### 地理信息系统(GIS)软件支持 GIS平台如QGIS提供了强大的可视化功能,可以直接加载OSM XML文件或者经过预处理后的Shapefile等矢量格式文件,在界面上直观呈现地图特征及其属性信息。此外,ArcGIS也具备相似的能力,允许用户自定义样式来进行更精细的表现形式调整。 #### Web Mapping Services (WMS) 当涉及到在线服务时,Web Map Service协议使得能够轻松地将OSM瓦片层集成到网页应用当中去。Leaflet.js是一个轻量级JavaScript框架,它能很好地兼容各种底图资源和服务端API接口调用,从而实现在浏览器端高效渲染大规模矢量数据的目的[^2]。 ```javascript var map = L.map('map').setView([39.9042, 116.4074], 13); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); // Add a GeoJSON layer to the map with custom styling. fetch('/path/to/osm.geojson') // Replace this URL with your actual data source .then(response => response.json()) .then(data => { L.geoJson(data).addTo(map); }); ``` 这段脚本说明了怎样借助Leaflet创建一个基于位置的基础地图视窗,并叠加来自服务器上的GeoJSON格式化的OSM数据作为额外的信息层。 #### 关系数据库管理 考虑到OSM数据集中存在复杂的拓扑关联——特别是多边形边界之间的嵌套情况,PostgreSQL搭配PostGIS插件成为了一个理想的选择用于管理和查询这类空间对象间的关系。SQL语句可以帮助构建高效的索引机制以便快速检索所需范围内的记录条目。 ```sql CREATE EXTENSION postgis; SELECT * FROM ways WHERE ST_Contains(geom, ST_SetSRID(ST_Point(longitude, latitude), 4326)); ``` 此命令片段演示了启用PostGIS之后执行几何运算的方法之一:判断给定点是否位于某个区域内;这对于分析城市规划或环境监测等领域非常有用。 综上所述,针对OSM数据集的维表示和处理涉及到了多个层面的技术栈组合运用,从编程语言内置的支持函数直至专业的桌面应用程序乃至云端解决方案不一而足。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值