.osm文件、shp文件、node\link文件、json文件四兄弟的最基本逻辑是基本一致的,先确定点,然后用线将点连起来形成网,最后给需要补充说明的因素贴标签。
node\link文件
抒情的部分请看:
专栏内另一篇《一种从OSM上获得区域路网数据的方法(以南京市为例)(铺垫)》
node文件大概是这样,看图吧,最重要的字段是:编号、经纬度,如果数据足够全,还会有这个点位的名称,所属区域啥的
数据内容并无特殊,只是关于每一个node的所有信息都在这一个文件里面展示了。
link文件也请看下图:
最重要的字段:路段名称、编号、路段起终点的编号、车道数、自由流车速、路段等级。。
node文件已经把所有有效的点在地图上确定好了,link文件只是按照连通关系,把有路连通的点位用线段连起来,然后再告诉你这个路段的一些基本信息。
话句话说:如果link文件里没有的连通关系,现实中就不存在路段直接相连;link文件里存在的连通关系,现实中一定可以不通过别的node就直接到达,但是这不意味着这样的连通距离是最经济的。
扩展:
如果把交通运输工程中的交通小区集计为一个node,那么link可以用来表示交通小区之间的连通关系,这对于四阶段法做交通规划具有很好的效果。
此时,可以选取各交通小区的中心作为node,赋予交通小区的编号和经纬度信息;测量交通小区之间的交通流量、连通道路情况等,形成link文件。
这样就形成了升华之后的城市路网,这既是交通规划的常见做法,也是提高运算效率的一种手段。
JSON文件
JSON文件是一种轻量级的数据交换格式,常用于客户端和服务器之间的数据传输。它使用键值对的方式来表示数据,因此易于解析和生成,同时也非常容易阅读和理解。
JSON文件通常以.json为文件扩展名,可以在多种编程语言中进行解析和使用。常见的应用包括Web应用程序、移动应用程序和API。
JSON是纯文本,具有层级结构,易于阅读和编写,其本质是字符串
赘述这个格式,主要是因为mapbox基于地图做可视化,就是这么弄的。
从实用性角度来说,假如我要在地图上画个区域,那本质上就是,我先用无数个点框定出一个范围,然后按照顺序围成一圈。
{
"type": "Feature",
"properties": {"11": 3},
"geometry": {
"coordinates": [
[
[120.508456, 31.85704 ],
[120.525008, 31.86319 ],
[120.525138, 31.873379],
[120.502895, 31.877517],
[120.501643, 31.875033],
[120.499365, 31.869153],
[120.508456, 31.85704 ]
]
],
"type": "Polygon"
}
}
比如上面这个,就是一个闭合的Polygon(多边形),依次连接7个点,形成一个多边形区域,顺便打个标签,给个编号啥的。
后面在做可视化和分析的时候,最复杂就是给不规则封闭区域上色了
相应减少数据信息,那么表述:
点、路段、轨迹(多段线)、区域边界等就都很简单了
按照我的理解,json文件是最接近口头指令的,不仅只需要一个文件,避免了 多个文件需要统一要素编号的问题,也更容易迅速看明白形状是怎么画出来的。
以下是戏精拟人化指令:
计算机,我给你四个点,经纬度分别是xxxx,你用线段把他们按顺序连起来,形成一个的封闭区域,顺便记下来,这个区域名字叫南京杀猪场