GDAL / Python: ฉันจะรับชื่อระบบพิกัดจาก SpatialReference ได้อย่างไร


18

ใน Python โดยใช้ 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 ฉันสามารถสร้างอินสแตนซ์ SpatialReference ดังนี้:

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

นี่ง่ายมาก ฉันสามารถแยกพารามิเตอร์หลายอย่างของการฉายภาพจากsrcเช่นโซน UTM และอื่น ๆ ได้อย่างง่ายดาย "GDA_1994_Transverse_Mercator"แต่ฉันไม่สามารถคิดออกว่าจะดึงบางสิ่งบางอย่างเช่นชื่อของการประมาณการคือ สิ่งนี้จะต้องเป็นไปได้อย่างแน่นอน แต่เอกสาร Python API อาจไม่มีอยู่เลยสำหรับการใช้งานทั้งหมด

ฉันจะแยกชื่อของเส้นโครงและระบบพิกัดทางภูมิศาสตร์ได้อย่างไร

คำตอบ:


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'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.