1
我想檢查一個特定的經度/緯度是否在大陸美國或不。我不想使用在線API,我正在使用Python。給定經度/緯度說,如果座標是在大陸美國或不
from shapely.geometry import MultiPoint, Point, Polygon
import shapefile
sf = shapefile.Reader("cb_2015_us_nation_20m")
shapes = sf.shapes()
fields = sf.fields
records = sf.records()
points = shapes[0].points
poly = Polygon(points)
lon = -112
lat = 48
point = Point(-112, 48)
poly.contains(point)
#should return True because it is in continental US but returns False
樣品經度,緯度是在美國境內的邊界,但poly.contains返回False。 我不確定問題所在,以及如何解決問題,以便我可以測試一個點是否在美國大陸之內。
的http:// gis.stackexchange.com/questions/84114/shapely-unable-to-tell-if-polygon-contains-point你確定你的形狀是'lon,lat'而不是'lat,lon'嗎? – TemporalWolf
是的,它是lon,lat。我檢查了反過來,也沒有工作。我結束了使用狀態形狀文件,現在我用相同的方法檢查所有狀態,如果其中一個返回true,那麼它是真的,儘管它似乎現在工作。 – Ash