<p>我有一个ESRI形状文件(从这里:<a href="http://pubs.usgs.gov/ds/425/" rel="nofollow">http://pubs.usgs.gov/ds/425/</a>)。我希望使用python从给定纬度/经度的形状文件(本例中为表面材质)中查找信息。在</p>
<p>解决这个问题最好的办法是什么?在</p>
<p>谢谢。在</p>
<p>最终解决方案:</p>
<pre><code>#!/usr/bin/python
from osgeo import ogr, osr
<a href="https://www.cnpython.com/pypi/dataset" class="inner-link">dataset</a> = ogr.Open('./USGS_DS_425_SHAPES/Surficial_materials.shp')
layer = dataset.GetLayerByIndex(0)
layer.ResetReading()
# Location for New Orleans: 29.98 N, -90.25 E
point = ogr.CreateGeometryFromWkt("POINT(-90.25 29.98)")
# Transform the point into the specified coordinate system from WGS84
spatialRef = osr.SpatialReference()
spatialRef.ImportFromEPSG(4326)
coordTransform = osr.CoordinateTransformation(
spatialRef, layer.GetSpatialRef())
point.Transform(coordTransform)
for feature in layer:
if feature.GetGeometryRef().Contains(point):
break
for i in range(feature.GetFieldCount()):
print feature.GetField(i)
</code></pre>