OSMNX: Как построить только узлы? - PullRequest
0 голосов
/ 13 марта 2020

Я пытался построить карту с деревьями. Это узлы в openstreetmap, поэтому мне интересно, можно ли построить карту только с узлами без ребра между ними?

Вот мой код:

place=['Saint-Egreve,France']
G = ox.graph_from_place(place,retain_all=True,truncate_by_edge=True,simplify=False, network_type='none',infrastructure='node[natural=tree]')
fig, ax = ox.plot_graph(ox.project_graph(G))

Возвращаемая ошибка:

Traceback (most recent call last):
  File "./test.py", line 102, in <module>
    fig, ax = ox.plot_graph(ox.project_graph(G))
  File "/home/syl20/.conda/envs/ox/lib/python3.8/site-packages/osmnx/plot.py", line 362, in plot_graph
    west, south, east, north = edges.total_bounds
  File "/home/syl20/.conda/envs/ox/lib/python3.8/site-packages/pandas/core/generic.py", line 5274, in __getattr__
    return object.__getattribute__(self, name)
  File "/home/syl20/.conda/envs/ox/lib/python3.8/site-packages/geopandas/base.py", line 523, in total_bounds
    return GeometryArray(self.geometry.values).total_bounds
  File "/home/syl20/.conda/envs/ox/lib/python3.8/site-packages/pandas/core/generic.py", line 5274, in __getattr__
    return object.__getattribute__(self, name)
  File "/home/syl20/.conda/envs/ox/lib/python3.8/site-packages/geopandas/geodataframe.py", line 101, in _get_geometry
    raise AttributeError(
AttributeError: No geometry data set yet (expected in column 'geometry'.

Спасибо за вашу драгоценную помощь!

Сильвен

1 Ответ

0 голосов
/ 19 марта 2020

Попробуйте это:

import osmnx as ox
import matplotlib.pyplot as plt

place = 'Saint-Egreve,France'
graph = ox.graph_from_place(place)

# Plot the streets
fig, ax = ox.plot_graph(graph)

# Retrieve nodes and edges
nodes, edges = ox.graph_to_gdfs(graph)
nodes.head()

# Plot the nodes
fig, ax = plt.subplots(figsize=(12,8))
nodes.plot(ax=ax, facecolor='black')
...