Suite

La mise à jour du SRID (Update_GeometrySRID) ne modifie pas les polygones (quand elle le devrait)

La mise à jour du SRID (Update_GeometrySRID) ne modifie pas les polygones (quand elle le devrait)


J'essaie de changer le SRID de la couche de polygones, mais j'ai du mal à visualiser le résultat.

Si le SRID est mal signalé, le fichier de formes que j'ai utilisé pour importer dans PostGIS. Les métadonnées indiquent que le système de référence est SIRGAS2000 (srid 4674). Cependant, en regardant comment les données sont "dérivées" (voir image), je soupçonne que le vrai SRID pourrait être 4618 (SAD69)

J'ai donc essayé de mettre à jour le SRID (sans changer les points sous-jacents, etc.) dans Postgis :

CREATE TABLE setor_censitario_2 as select * from setor_censitario SELECT UpdateGeometrySRID('setor_censitario_2','geom',4618)

et comparé les résultats des polygones de mise à jour du SRID aux polygones d'origine dans Qgis.

Rien n'a changé, les deux couches semblent identiques.

Cela m'a intrigué. N'auraient-ils pas dû changer ? Les paramètres des deux "données" (SIRGAS2000 et SAD69) sont en effet différents de façon non négligeable. Donc, juste pour m'assurer que le changement de SRID n'était pas censé être anodin, j'ai ST_Transformé le geom :

créer la table setor_censitario_4 en tant que select geom, ST_Transform(geom,4291) en tant que geom4291Transf, ST_Transform(geom,4618) en tant que geom4618Tranf de setor_censitario

maintenant le nouveau geom est différent de celui d'origine. ST_Transform, bien sûr, n'est pas la correction que je veux (en fait j'ai doublé l'ampleur du problème).

Alors pourquoi Update_GeometrySRID ne change-t-il pas l'emplacement des polygones dans Qgis ?

Le shapefile est disponible à partir de : ftp://geoftp.ibge.gov.br/malhas_digitais/censo_2010/setores_censitarios/ba.zip après avoir décompressé j'ai importé avec :

shp2pgsql -c -s -I -W fichier LATIN1 public schema.table…

METTRE À JOUR:

  • en suivant l'[UpdateGeometrySRID help] (http://postgis.org/docs/UpdateGeometrySRID.html) j'ai aussi essayé :

    CREATE TABLE setor_censitario_3 as select * from setor_censitario ALTER TABLE setor_censitario_3 ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) USING ST_SetSRID(geom,4326);

les résultats sont les mêmes (les polygones dans Qgis ne bougent pas)

MISE À JOUR 2:

J'ai également essayé de mettre à jour le SRID directement dans PostGIS, mais cela n'a pas modifié la position des polygones.

Pour reproduire la situation directement dans Ggis, téléchargez ce fichier : ftp://geoftp.ibge.gov.br/malhas_digitais/censo_2010/setores_censitarios/ba.zip décompressez et ouvrez 29SEE250GC_SIR.shp dans Qgis.

Ajoutez ensuite une couche Open Street Maps Streets à l'arrière-plan (je ne l'ai pas fait mais je pense que cela peut être fait, soit en Vector>Ouvrir la carte des rues> Télécharger les données ou avec le plugin Open Layers). Ou une image satellite de google (également Open Layers).

En zoomant autour de cet emplacement : lon -38.47761, lat -13.01077, échelle 1:8000, vous devriez voir quelque chose de similaire à cette image :

  • Vert : polygones que je veux corriger. Les périmètres de celles-ci doivent être définis par certaines rues (les polygones peuvent cependant inclure plus d'un pâté de maisons).
  • Rouge : rues OSM sous-jacentes (que je suppose correctes)

remarquez comment la couche verte est disloquée "au nord-est" de la couche rouge.

MISE À JOUR 3: changer le SRID pour d'autres projections Est-ce que modifier la position des polygones. Par exemple, le changement des SRID de 4674 (Sirgas 2000) à 4225 (Córrego Alegre, également une projection brésilienne plus ancienne) déplace les polygones vers le sud d'environ 50 m. Ce n'est que dans le cas particulier de 4674 à 4618 qu'ils ne bougent pas.


Une meilleure façon d'explorer les projections changeantes consiste simplement à travailler dans QGIS.

Chargez vos deux jeux de données et assurez-vous que votre "correct" a le bon système de coordonnées défini. Pour ce faire, double-cliquez sur la couche, accédez à l'onglet général des propriétés et assurez-vous que le système de référence de coordonnées est correctement défini.

Assurez-vous maintenant que vous avez activé la reprojection « à la volée ». Vous pouvez le faire en bas à droite de la vue principale ou dans les propriétés du projet. Cochez la case permettant la reprojection à la volée et utilisez le même système de référence de coordonnées que vous l'avez fait pour votre couche « correcte ».

Vous disposez maintenant d'un espace de travail qui reprojettera toutes les données ajoutées dans le même CRS que vos données principales. Ajoutez donc votre calque « incertain », et si vous modifiez le SCR de ce calque (double-cliquez sur le calque, accédez à Général, modifiez le SCR), il sera alors déplacé dans le même SCR que votre espace de travail. Et, donc, si vous choisissez le bon SCR, il s'alignera.

Une fois que vous savez de quel CRS il devrait s'agir, accédez à PostGIS et mettez-le à jour là-bas. Ou revenez en arrière et chargez-le avec l'argument '-s 4618'.


Voir la vidéo: Polygone et quadrilatère