def test_osr_usgs_1(): srs = osr.SpatialReference() srs.ImportFromUSGS( 8, 0, (0.0, 0.0, gdal.DecToPackedDMS(47.0), gdal.DecToPackedDMS(62.0), gdal.DecToPackedDMS(45.0), gdal.DecToPackedDMS(54.5), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 15) assert abs(srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_1) - 47.0) <= 0.0000005 and abs(srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_2) - 62.0) <= 0.0000005 and abs(srs.GetProjParm(osr.SRS_PP_LATITUDE_OF_CENTER) - 54.5) <= 0.0000005 and abs(srs.GetProjParm(osr.SRS_PP_LONGITUDE_OF_CENTER) - 45.0) <= 0.0000005 and abs(srs.GetProjParm(osr.SRS_PP_FALSE_EASTING) - 0.0) <= 0.0000005 and abs(srs.GetProjParm(osr.SRS_PP_FALSE_NORTHING) - 0.0) <= 0.0000005, \ 'Can not import Equidistant Conic projection.'
def osr_usgs_1(): srs = osr.SpatialReference() srs.ImportFromUSGS( 8, 0, (0.0, 0.0, gdal.DecToPackedDMS(47.0), gdal.DecToPackedDMS(62.0), gdal.DecToPackedDMS(45.0), gdal.DecToPackedDMS(54.5), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 15) if abs(srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_1)-47.0)>0.0000005 \ or abs(srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_2)-62.0)>0.0000005 \ or abs(srs.GetProjParm(osr.SRS_PP_LATITUDE_OF_CENTER)-54.5)>0.0000005 \ or abs(srs.GetProjParm(osr.SRS_PP_LONGITUDE_OF_CENTER)-45.0)>0.0000005 \ or abs(srs.GetProjParm(osr.SRS_PP_FALSE_EASTING)-0.0)>0.0000005 \ or abs(srs.GetProjParm(osr.SRS_PP_FALSE_NORTHING)-0.0)>0.0000005: gdaltest.post_reason('Can not import Equidistant Conic projection.') return 'fail' return 'success'
def handle_proj_params(proj_params, projection): map_proj = proj_params.get('MAP_PROJECTION') spatial_ref = osr.SpatialReference() if map_proj == 'UTM': cs_code = 32600 + proj_params['UTM_ZONE'] spatial_ref.ImportFromEPSG(cs_code) projection['spatial_reference'] = 'EPSG:%s' % cs_code elif map_proj == 'PS': datum = proj_params['DATUM'] if datum != 'WGS84': raise RuntimeError('unsupported datum: "%s"' % (datum)) zone = 0 # ignored in the PS case p_long = gdal.DecToPackedDMS( float(proj_params['VERTICAL_LON_FROM_POLE'])) ts_lat = gdal.DecToPackedDMS(float(proj_params['TRUE_SCALE_LAT'])) fe = float(proj_params['FALSE_EASTING']) fn = float(proj_params['FALSE_NORTHING']) args = 0, 0, 0, 0, p_long, ts_lat, fe, fn, 0, 0, 0, 0, 0, 0, 0 spatial_ref.ImportFromUSGS(PS_CODE, zone, args, WGS84_CODE) projection['datum'] = datum else: raise RuntimeError('unknown map projection: "%s"' % (map_proj)) return spatial_ref
# -*- coding: utf-8 -*- print('=' * 40) print(__file__) from helper.textool import get_tmp_file ################################################################################ from osgeo import osr sr = osr.SpatialReference() sr.SetProjCS('UTM 17 (WGS84) in northern hemisphere.') sr.SetWellKnownGeogCS('WGS84') sr.SetUTM(17, True) sr.IsGeographic() sr.IsProjected() ################################################################################ srs = osr.SpatialReference() from osgeo import gdal srs.ImportFromUSGS( 8, 0, (0.0, 0.0, gdal.DecToPackedDMS(47.0), gdal.DecToPackedDMS(62.0), gdal.DecToPackedDMS(45.0), gdal.DecToPackedDMS(54.5), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 15) srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_1) srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_2) srs.GetProjParm(osr.SRS_PP_LATITUDE_OF_CENTER) srs.GetProjParm(osr.SRS_PP_LONGITUDE_OF_CENTER) srs.GetProjParm(osr.SRS_PP_FALSE_EASTING) srs.GetProjParm(osr.SRS_PP_FALSE_NORTHING)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ############################################################################### from osgeo import osr sr = osr.SpatialReference() sr.SetProjCS( 'UTM 17 (WGS84) in northern hemisphere.' ) sr.SetWellKnownGeogCS( 'WGS84' ) sr.SetUTM( 17, True ) sr.IsGeographic() sr.IsProjected() ############################################################################### srs = osr.SpatialReference() from osgeo import gdal srs.ImportFromUSGS(8, 0, (0.0, 0.0, gdal.DecToPackedDMS(47.0), gdal.DecToPackedDMS(62.0), gdal.DecToPackedDMS(45.0), gdal.DecToPackedDMS(54.5), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), 15) srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_1) srs.GetProjParm(osr.SRS_PP_STANDARD_PARALLEL_2) srs.GetProjParm(osr.SRS_PP_LATITUDE_OF_CENTER) srs.GetProjParm(osr.SRS_PP_LONGITUDE_OF_CENTER) srs.GetProjParm(osr.SRS_PP_FALSE_EASTING) srs.GetProjParm(osr.SRS_PP_FALSE_NORTHING)