OSMnx - евклидовы буферы вокруг точки

Относительный новичок здесь, так что помощь будет очень благодарна. Я прохожу через процесс классификации зон станций на международном уровне с использованием показателей связи в OSMnx. Мне нужно получить уличные сети в пределах 400 м евклидовых буферов от каждой точки станции. т.е. простой буфер от станции.

Мне кажется, что единственный способ получить уличные сети на расстоянии от точки - это использовать ox.graph_from_point () и указать либо расстояние в сети, либо ограничивающую рамку.

Разве невозможно получить евклидово расстояние от точки? Или мне нужна работа, например, создание буферных многоугольников в ArcMap и использование их с OSMnx. В любом случае мы будем благодарны за любой совет о том, какой код или команда мне нужны!

Ваше здоровье.


person British_Custard    schedule 07.03.2019    source источник


Ответы (1)


Все это можно сделать напрямую с помощью OSMnx:

import osmnx as ox
from shapely.geometry import Point
station_point = (-71.083364, 42.341586)
projected_point, projection_crs = ox.project_geometry(Point(station_point))
projected_buffer = projected_point.buffer(400)
buffer, latlong_crs = ox.project_geometry(projected_buffer, crs=projection_crs, to_latlong=True)
G = ox.graph_from_polygon(buffer)

Определите точку станции, спроецируйте ее в метры (UTM), разместите в буфере радиусом 400 м, спроецируйте буфер обратно на широту и долготу, а затем поместите в нее уличную сеть.

person gboeing    schedule 07.03.2019
comment
Работает как шарм! Большое спасибо, это сэкономит мне массу времени на мои исследования. - person British_Custard; 09.03.2019