Selon Jason Roberts <[email protected]>:

> Greetings OGR experts,
>
>
>
> I have a shapefile for which no spatial reference was defined when the
> shapefile was created, but I know the spatial reference and would like to
> set it on this existing shapefile. Is this possible with the OGR Python API?
>

You're correct. There's no direct (Python or C) API for this.

>
> It looks like the only place that takes an OGRSpatialReference instance is
> OGRDataSource::CreateLayer. This suggests that the only way to do it is to
> call CreateLayer with the appropriate OGRSpatialReference instance and then
> write all of the code to create the fields and copy all of the features from
> the existing layer to the new one. Is this correct?
>

Yes. Or... you could cheat a bit. In the case of a shapefile, the spatial
reference is written in a .prj file. So technically you can create a fake empty
shapefile with the right spatial reference, close it, rename the .prj to have
the same basename as your shapefile of interes and re-open it.

>
>
> Thanks very much for any suggestions you can provide,
>
>
>
> Jason
>
>
>
>


_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to