Message posté par : Yoann Lecomte
----------------------------------------
Bonjour,
La méthode SetSpatialRef n'existe pas sur le DataSource comme vous semblez être en
train de faire.
Il faut que vous alliez chercher la référence à la définition du champ géométrique de
votre Layer.
Voici un exemple de code qui devrait faire ce que vous souhaitez si j'ai bien compris
votre question (j'ai pris un shapefile pour l'exemple):
-----------------
Code :
ds = ogr.Open('C:/some/path/to/layer.shp')
layer = ds.GetLayer()
print(layer.GetSpatialRef()) # --> None, if no spatial ref are set for this layer
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)
srs.SetAxisMappingStrategy(osr.OAMS_TRADITIONAL_GIS_ORDER)
l_defn = layer.GetLayerDefn()
geom_defn = l_defn.GetGeomFieldDefn(0) # get the definition of the geom field
geom_defn.SetSpatialRef(srs) # apply the srs
print(layer.GetSpatialRef())
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=360499#p360499
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net