GDAL / पायथन: मुझे SpatialReference से निर्देशांक सिस्टम नाम कैसे मिलेगा?


18

पायथन में, GDAL का उपयोग करते हुए, मैंने एक WKT स्ट्रिंग के रूप में एक रेखापुंज का प्रक्षेपण निम्नानुसार निकाला है:

wkt = dataset.GetProjection()
# wkt is 'PROJCS["GDA_1994_Transverse_Mercator",GEOGCS["GDA_1994",DATUM["GDA_1994",SPHEROID["GRS_1980",6378137,298.2572221010002],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]]'

WKT स्ट्रिंग का उपयोग करते हुए, मैं एक स्थानिक संदर्भ उदाहरण बना सकता हूं:

src = osr.SpatialReference()
src.ImportFromWkt(wkt)

यह आसान-पेसी है। मैं प्रक्षेपण के कई मापदंडों srcजैसे कि UTM ज़ोन, इत्यादि को आसानी से पर्याप्त रूप से निकाल सकता हूं । लेकिन मैं यह नहीं पता लगा सकता कि प्रक्षेपण के नाम की तरह कुछ कैसे निकाला जाए, अर्थात "GDA_1994_Transverse_Mercator"। यह निश्चित रूप से संभव हो गया है, लेकिन पायथन एपीआई प्रलेखन के साथ-साथ सभी उपयोगों के लिए यह संभव नहीं है।

मैं प्रक्षेपण और भौगोलिक समन्वय प्रणाली के नाम कैसे निकालूं?

जवाबों:


46

देखें OGR प्रक्षेपण ट्यूटोरियल और OGRSpatialReference वर्ग। विशेष रूप से, GetAttrValue विधि।

यहां एक उदाहरण दिया गया है।

from osgeo import gdal,osr
ds=gdal.Open(r'SOMERASTER.TIF')
prj=ds.GetProjection()
print prj

srs=osr.SpatialReference(wkt=prj)
if srs.IsProjected:
    print srs.GetAttrValue('projcs')
print srs.GetAttrValue('geogcs')

मेरे रेखापुंज के लिए यह प्रिंट:

PROJCS["WGS 84 / UTM zone 55N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",147],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","32655"]]
'WGS 84 / UTM zone 55N'
'WGS 84'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.