[英]How do I find an arbitrary Z coordinate for a corresponding X Y coordinate on a geojson map with geopandas?
我正在嘗試定位給定 map 上某個點的 Z 坐標。 我正在嘗試使用Geodataframe.sjoin()
方法。 出於測試目的,我正在創建一個任意點並嘗試找到與我的地理數據的交集。 每當我使用我的數據中的實際坐標作為點(隨機選擇幾何的單個 XY 坐標)時,我似乎都找不到任何交點。 我唯一一次遇到交叉點是當我選擇一個只與“外部”多邊形相交的點時(見下圖)。
test_point= {'geometry': [ Point(16.844, 46.89) ] }
gdf_p = geopandas.GeoDataFrame(test_point, crs="EPSG:4326")
gdf_p.crs=data_all.crs #to check if same
這是我基於不同 ID 的數據的原始 plot:
fig, ax1 = plt.subplots(figsize=(10,10))
data_all.plot(ax=ax1,column='Id')
原裝 plot:
join_inner_df = data_all.sjoin(gdf_p,how='inner')
fig, ax1 = plt.subplots(figsize=(10,10))
gdf_p.plot(ax=ax1,markersize=300,color='red')
data_all.plot(ax=ax1,column='LaneType')
Plot合:
加入的 GeoDataframe 為空。 但是,如果我將我的點重新定位到實際軌道未被覆蓋的地方,而只是覆蓋多邊形,我會得到一個多多邊形相交。
Plot 發現多面相交:
fig, ax1 = plt.subplots(figsize=(10, 10))
gdf_p.plot(ax=ax1, markersize=300, color='red')
data_all.plot(ax=ax1, column='LaneType')
我不確定我錯過了什么,因為軌道內的幾何圖形應該與軌道外的多邊形一樣具有交叉點。 先感謝您。
我的問題很可能是,在幾何之間存在任何幾何都沒有描述的區域,因此它與我的觀點沒有交集。 一種解決方法是我在一個點周圍創建一個緩沖區,與之相交,然后計算點和相交幾何圖形之間的距離。 最近幾何體的最近點的 z 坐標可以是近似結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.