OSMnx:在“gdf\u from\u place”b中指定位置

2024-09-30 01:37:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中使用OSMnx来获取状态的几何图形(例如奥地利)。但是,OSMnx有时会选择错误的OSM对象作为位置。我可以使用OSM对象的ID指定它吗?你知道吗

示例:

我用overpasspi得到奥地利各州的名字:

(area["ISO3166-1"="{country}"];rel(area)[admin_level="{adminLevel}"];);
out center meta;

这给了我一份状态列表:

@id @lat    @lon    name
35183   47.2199394  14.8675619  Steiermark
52343   47.1971981  11.5319171  Tirol
52345   46.7517868  13.8605291  Kärnten
74942   47.2184818  9.8839555   Vorarlberg
76909   47.4746574  16.5785134  Burgenland
77189   48.2213684  15.7607387  Niederösterreich
86539   47.4926636  13.0361103  Salzburg
102303  48.1168383  13.8707061  Oberösterreich
109166  48.2202874  16.3796721  Wien

但是当我用OSMnx得到“Salzburg”的几何体时,我得到的是一个点而不是一个多边形。你知道吗

>>> outline = osmnx.gdf_from_place("Salzburg")

geometry    place_name
POINT (13.0464806 7.7981346)    Salzburg, 5020, Austria

因为“萨尔茨堡”既是一个城市,也是一个州,所以我想将OSM ID放入查询中以使其明确无误。有办法吗?你知道吗


Tags: 对象nameid示例状态osm错误place
1条回答
网友
1楼 · 发布于 2024-09-30 01:37:55

OSMnx不接受OSM ID,但是您可以指定您想要城市还是州(甚至which_result):

import osmnx as ox
outline_city = ox.gdf_from_place({'city':'Salzburg'})
outline_state = ox.gdf_from_place({'state':'Salzburg'})

相关问题 更多 >

    热门问题