[Qgis-user] ogr2ogr - how to use -s_srs, -t_srs and -a_srs
Erik Josefsson
erik.hjalmar.josefsson at gmail.com
Sun Aug 6 01:34:45 PDT 2017
Thank you Zoltan!
On 06/08/17 07:05, Siki Zoltan wrote:
> Dear Erik,
>
> if there is a .prj file to your shape and it is valid you need not to
> use -s_srs.
Yes, there is a .prj file to each .shp (in all zip-archives).
> Only one of -a_srs and -t_srs is neccessary in your case, if
> you want to reproject coordinates use -t_srs. If you want only change
> the projection but not the coordinates use -a_srs.
I want both. So far I (think I) have only managed to change the projection.
Here's the loop where it happens (please note that I expect ogr2ogr to
read and write to the same shpfile):
for shpfile in shapefiles:
print(shpfile)
subprocess.call(["ogr2ogr", "-f", "ESRI Shapefile", "-s_srs",
"EPSG:3006", "-t_srs", "EPSG:3006", shpfile, shpfile])
Below is the ogrinfo command line output for one of the records in one
of the shapefiles that originally happens to have EPSG:3008. The record
has OBJECTID=49426 before and after the loop above. As you can see, the
POLYGON coordinates are unchanged.
However, in QGIS the shapefile is displayed under Layer Properties ->
General with SCR as "Selected CRS (EPSG:2006, SWEREF99 TM)".
I hope that there is a way I can tell ogr2ogr to also recalculate the
values of the coordinates. Is there?
Thanks again!
//Erik
(p.s. removing "-s_srs", "EPSG:3006" from the subprocess call in the
loop above makes no difference, the output is the same)
$ogrinfo -ro -where 'OBJECTID=49426' shapefile.shp Byggnad_z
Layer name: Byggnad_z
Metadata:
DBF_DATE_LAST_UPDATE=2016-12-05
Geometry: Polygon
Feature Count: 1
Extent: (111545.260000, 6153657.656500) - (127881.434300, 6168436.895000)
Layer SRS WKT:
PROJCS["SWEREF99_13_30",
GEOGCS["GCS_SWEREF99",
DATUM["SWEREF99",
SPHEROID["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",150000.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",13.5],
PARAMETER["Scale_Factor",1.0],
PARAMETER["Latitude_Of_Origin",0.0],
UNIT["Meter",1.0]]
OBJECTID: Integer (9.0)
Z: Real (19.11)
Shape_Leng: Real (19.11)
Shape_Area: Real (19.11)
OGRFeature(Byggnad_z):49425
OBJECTID (Integer) = 49426
Z (Real) = -9999.00000000000
Shape_Leng (Real) = 32.97354794050
Shape_Area (Real) = 66.76357026070
POLYGON ((113489.4814 6163235.5459,113485.7853
6163228.8576,113479.6167 6163232.2701,113479.6002
6163232.3537,113483.2085 6163238.9869,113483.1822
6163239.0013,113484.0331 6163240.5029,113490.3152
6163237.0547,113489.4814 6163235.5459))
Layer name: Byggnad_z
Metadata:
DBF_DATE_LAST_UPDATE=2017-08-06
Geometry: Polygon
Feature Count: 1
Extent: (111545.260000, 6153657.656500) - (127881.434300, 6168436.895000)
Layer SRS WKT:
PROJCS["SWEREF99_TM",
GEOGCS["GCS_SWEREF99",
DATUM["SWEREF99",
SPHEROID["GRS_1980",6378137,298.257222101]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",15],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["Meter",1]]
OBJECTID: Integer (9.0)
Z: Real (19.11)
Shape_Leng: Real (19.11)
Shape_Area: Real (19.11)
OGRFeature(Byggnad_z):49425
OBJECTID (Integer) = 49426
Z (Real) = -9999.00000000000
Shape_Leng (Real) = 32.97354794050
Shape_Area (Real) = 66.76357026070
POLYGON ((113489.4814 6163235.5459,113485.7853
6163228.8576,113479.6167 6163232.2701,113479.6002
6163232.3537,113483.2085 6163238.9869,113483.1822
6163239.0013,113484.0331 6163240.5029,113490.3152
6163237.0547,113489.4814 6163235.5459))
> Best regards,
> Zoltan
>
> On Sun, 6 Aug 2017, Erik Josefsson wrote:
>
>> Hello,
>>
>> I have a handful of zip archives containing original shapefiles with
>> different coordinate reference systems (e.g. SGER:3008 and SGER:3021).
>>
>> I want to extract and convert them all to SGER:3006 and thought that
>> ogr2ogr would do the job, but I don't find intelligible instructions on
>> how to use the srs-parameters: -s_srs, -t_srs and -a_srs.
>>
>> Do I have to know the coordinate reference system of each original shape
>> file to use ogr2ogr successfully? If so, how do I retrieve that
>> information?
>>
>> Or should I just override the original coordinate reference system like
>> this?
>>
>> ogr2ogr -f 'ESRI Shapefile' -s_srs EPSG:3006 -t_srs EPSG:3006 -a_srs
>> EPSG:3006 A.shp B.shp
>>
>> Best regards.
>>
>> //Erik
>>
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 533 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20170806/cde0b79e/attachment.sig>
More information about the Qgis-user
mailing list