2015-04-03 114 views
1

Python - 邊界框/圓和字符串問題 我有幾個問題想解決一些Python V2.7.x腳本,我在某些基於Debian的單元下運行。 ..Python - 邊界框/圓庫

1)GIS - 外框和各界

我試圖找到能夠做一個圖書館這

由於緯度/長着一雙,A點確定A點內邊框經緯度設置點1,點2,點3,點4.

給定緯度/長度對,點A,經緯度B和距離b點的半徑(英里),確定點A是否位於點B的邊界圓內。

GeoPy lib我必須做的地理編碼不提供這些選擇。其他的一些庫似乎與ArcGIS的形狀文件等有關...我不使用它,也沒有任何未來需要它們..當然,有些東西有一些沒有廚房水槽好。

我見過的幾件事情,採取了點,給邊界框...像: https://github.com/jfein/PyGeoTools/blob/master/geolocation.py

不是我追求的...我想傳遞一個點,與箱體線(P1-4),它告訴我A點是否在那個盒子裏。

相同的圓圈。 A點,B點和半徑以點B爲單位,如果A點在WITHIN範圍內則函數返回。

任何可以做到這些的東西???

+0

歡迎來到StackOverflow。對於某些類型的問題,這是一個很好的地方,但不是這種類型。請參閱[help/on-topic] – GreenAsJade 2015-05-23 00:11:25

回答

0

你可能會更好地問你的問題在http://gis.stackexchange.com。 無論如何:檢查一個點是否在邊界框內很容易:只要檢查兩個座標是否落在邊界框的範圍內。這裏不需要使用庫。 (檢查是否 lat_min < lat_oint <lat_maxlat_min<lat_point <lat_max)。

要檢查半徑,可以使用geopy的vincenty函數:只需計算兩點之間的距離(英里),並檢查距離是否小於半徑。

>>> from geopy.distance import vincenty 
>>> newport_ri = (41.49008, -71.312796) 
>>> cleveland_oh = (41.499498, -81.695391) 
>>> print(vincenty(newport_ri, cleveland_oh).miles) 
538.3904451566326