Khi đọc một lớp từ kết nối OGR PostGIS, tôi có thể nhận được SpatialReference của lớp, nhưng có thể lấy giá trị EPSG không? Có tài liệu nào về điều này?
Ví dụ:
lyr = conn.GetLayerByName(tbl) # Where conn is OGR PG connection
srs = ly.GetSpatialRef()
print srs
Trả về:
PROJCS["OSGB 1936 / British National Grid",
GEOGCS["OSGB 1936",
DATUM["OSGB_1936",
SPHEROID["Airy 1830",6377563.396,299.3249646,
AUTHORITY["EPSG","7001"]],
AUTHORITY["EPSG","6277"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4277"]],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",49],
PARAMETER["central_meridian",-2],
PARAMETER["scale_factor",0.9996012717],
PARAMETER["false_easting",400000],
PARAMETER["false_northing",-100000],
AUTHORITY["EPSG","27700"],
AXIS["Easting",EAST],
AXIS["Northing",NORTH]]
Vậy làm thế nào để tôi có được giá trị EPSG cho phép chiếu? Ví dụ:
srs.GetEPSG()
print srs
27700
Tôi đã thử srs.GetAttrValue('AUTHORITY')
, nhưng điều này chỉ trở lại 'EPSG'
.
I've tried srs.GetAttrValue('AUTHORITY'), but this just returns 'EPSG'
cái nào đúng EPSG là cơ quan có thẩm quyền