import numpy as np
2 提取Openstreetmap 的graph
G=ox.graph_from_place('Huangpu,Shanghai,China',
network_type='drive',
simplify=True)
ox.plot_graph(G)
3 提取graph中的点和边
gdf_nodes, gdf_edges = ox.utils_graph.graph_to_gdfs(G)
4 将点和边的geoDataFrame中非数值的部分转化成字符串
gdf_nodes = ox.io._stringify_nonnumeric_cols(gdf_nodes)
gdf_nodes
gdf_edges = ox.io._stringify_nonnumeric_cols(gdf_edges)
gdf_edges
5 为每一个边赋予一个id
gdf_edges["fid"] = np.arange(0, gdf_edges.shape[0], dtype='int')
gdf_edges
6 保存至文件
gdf_nodes.to_file("nodes.shp")
gdf_edges.to_file("edges.shp")
无论您是想找到从A地到B地的最佳路线,还是试图分析社区进入超市的情况以识别食物沙漠,以网络的形式构建问题,以街道为边缘,通常都是最简单和最容易解决的方法。
但是,在开始构建街道网络之前,您需要数据。谷歌地图可能是大多数人想到地理信息时的首选,但遗憾的是它的API不是免费的。值得庆幸的是,有一个免费的开源替代方案,其
中
包含许多相同的数据:
OpenStreetMap
s(OSM)项目。
GeoPandas是一个开源项目,可以更轻松地使用python处理地理空间数据。
GeoPandas扩展了Pandas
中
使用的数据类型DataFrame,允许对几何类型进行空间操作。
GeoPandas的目标是使在python
中
使用地理空间数据更容易。它结合了Pandas和Shapely的能力,提供了Pandas的地理空间操作和多种Shapely的高级接口。GeoPandas可以让您轻松地在python
中
进行操作,否则将需要...
这是一个让某种小游戏运行的简单例子。
这将运行 CartPole-v0 环境实例 1000 个时间步,在每次迭代的时候都会将环境初始化(env.render)。运行之后你将会看到一个经典的推车杆问题
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in rang...
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-54-2709fabe0da