从openstreetmap数据创建networkx图形

osmgraph的Python项目详细描述


osmgraph
==


从openstreetmap(osm)
数据创建[networkx]图形(https://networkx.github.io/)。` osmgraph`使用
[imposm parser](https://github.com/omniscale/imposm-parser)解析
openstreetmap xml(包括bz2)和pbf
文件以及[osm qa parser](https://github.com/mapkin/osmqa-parser)解析
[osm qa tiles](http://osmlab.github.io/osm qa tiles/)。


----

````
>;>;import osm graph
>;>g=osmgraph.parse_file(filename)
````



graph structure
----
`osmgraph`解析osm数据以创建networkx[有向图](https://networkx.readthedocs.org/en/stable/reference/classes.digraph.html)。osm节点直接对应于有向图中的节点。osm标记成为节点的属性。此外,“osmgraph”还添加了一个“coordinate”属性,该属性包含节点坐标的(lon,lat)元组。


<;/node>;
```

```
>;>;g.node[665539692]
{坐标':(-71.020486,42.3971185),'铁路':'平交道口'}
```

类似地,组成osm通道的节点形成图形的边缘。该方法的属性在边上重复。例如,给定以下XML方式:
````
<;way id="8636532" version="13" timestamp="2011-01-14T00:47:46Z" changeset="6963395" uid="381909" user="JessAk71">
<;nd ref=“614444848456//>;
<;nd ref=“1102764005//>;
<;lt;nd ref=“1102764005//>;
<;nd ref=“1099120555//>;
<;nd ref=“1099120556//>;
<;nd ref=“1099120556//>;
<;nd ref=“614202292299/>>;
<;nd ref=“61420222222222222222//>;
<;lt;nd ref
<;nd ref=“420249“/>;
<;
<;nd ref=“61420207//>;
<;nd ref=“61420214//>;
<;nd ref=“64377474918”/>;
>;
<;tag k=“name”v=“北华盛顿街”v=“北华盛顿街”//>;
<;tagk=“width”v=“30.2”v=“30.2”//>;
<;tagk=“oneway”v=“oneway”v=“是”//>;
<;lt;tagk=“source”v=“masgis-masgis-masgis-mu-gis-import-v0.1/u 20071008193193615/20071008193615/200710<;tag k=“Highway”v=“Primary”/>;
<;tag k=“condition”v=“fair”/>;
<;tag k=“attribution”v=“地理和环境信息办公室(massgis)”/>;
<;tag k=“massgis:way-id”v=“134349”/>;
<;/way>;
```
`````
>;G[61448456][1102764005]
{归属:'地理与环境信息办公室(massgis)',
条件:'公平',
'公路':'主要',
'massgis:way'id':'134349',
'名称':'北华盛顿街',
'单行':'是',
'来源':'massgis'u import'v0.1'u 20071008193615',
“宽度”:30.2}
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试