2012-11-21 40 views
3

我想在下面的情況下工作:GPS定位與Python,geopy,身材勻稱

  • 獲取多邊形從谷歌地球座標與身材勻稱
  • 獲得界限:

    >>> polygon = Polygon([(53.349459,-6.260159),(53.349366,-6.260126),(53.349383,-6.260012),(53.349478,-6.260053),(53.349459,-6.260159)]) 
    >>> polygon.bounds 
    (53.349366, -6.260159, 53.349478, -6.260012) 
    

    我得到了2個座標,它們是我身材頂部的2個邊界點。

  • 掌握geopy距離

    ,現在我卡住了...想弄清楚:

    1. 如何找到(底部)
    2. 如何檢測2個其他邊境口岸用戶是否靠近(例如3米)任何一側的多邊形? (左,右,上,下)。在這種情況下,我不僅需要知道邊緣邊界點,還需要知道從左邊,右邊,上邊和下邊的所有邊界點?我可以計算用戶位置和多邊形之間的距離,但是從多邊形動態獲取的點數是多少? 我可以使用現有的庫,比如geopy和Shapely嗎?

    Image

+0

這可能是http://gis.stackexchange.com的更多問題 – RickyA

+0

界限返回多邊形的邊界框。最適合多邊形的矩形。如果你看它,它不是頂點的座標。 – RickyA

回答

1

所以,如果我理解正確的話,你有一堆身材勻稱的多邊形,你想測試,如果任意點接近這些形狀。 對於這個問題勻稱提供distance

from shapely.geometry import Point, Polygon 
polygon = Polygon([(53.349459,-6.260159), 
        (53.349366,-6.260126), 
        (53.349383,-6.260012), 
        (53.349478,-6.260053), 
        (53.349459,-6.260159)]) 
testpoint = Point(53.349459,-6.260190) 
dist = polygon.distance(testpoint) 
print(dist) 
>>> 3.09999999999e-05 

提醒你:距離爲弧線,而不是在米,所以你必須將它們轉換。