A
Systèmes de référence spatiale
AA
De la géométrie (abstraite) à la géographie (terrienne)
Soit P1
le point géométrique
de coordonnées (2.348 ; 48.857)
.
Au sens exact, ce point n’a pas de « projection » ou de « référence spatiale ». La géométrie ne traite que des coordonnées de plan euclidien, c’est-à-dire : en repère « abstrait ». La géométrie est purement mathématique
.
Soit P2
le point géographique
désigné par les coordonnées (2.348 ; 48.857)
dans la référence spatiale
EPSG:4326
.
On se sert de la géométrie
(mathématique) pour manipuler des concepts géographiques. Un Système Spatial de Référence
définit la relation entre la géométrie et la géographie. Dans un système spatial donné, on manipule la géographie en tant que géométrie, les mathématiques fonctionnent. C’est lorsqu’on manipule différents systèmes spatiaux que le concept doit être maîtrisé (c’est-à-dire, dès lors qu’on doit convertir d’un système à l’autre).
Pour « fixer » (définir, noter) le système spatial (identifié par un nombre entier), on utilise la fonction
ST_SetSRID
.
QUESTION
AAC
idem AAA
pour le point P2
QUESTION
AAD
idem AAB
pour le point P2, sans utiliser
ST_SetSRID
, c’est-à-dire en fixant le SRID dans le WKT comme explicité dans la référence de
ST_GeomFromEWKT
QUESTION
AAE
idem AAD
sans nommer
ST_GeomFromEWKT
mais en utilisant un cast explicite de character varying
vers geometry
AB
Transformation entre systèmes de référence spatiale
C’est le point « en tant que géométrie » qu’on peut souhaiter transformer, c’est-à-dire, pour un même point géographique (un point de la Terre), passer de sa géométrie dans un système spatial donné à la géométrie dans un autre système spatial.
QUESTION
ABA
expression qui définit P2 en géométrie [dans la référence]
EPSG:2154
QUESTION
ABB
P2 au format EWKT en référence
EPSG:2154
QUESTION
ABC
P2 au format EWKT en référence
EPSG:4326
AC
La table spatial_ref_sys
La table spatial_ref_sys
contient la liste des références spatiales qui peuvent être exploitées. A l’installation, la table contient environ 4000 systèmes « officiels », qui ont été normalisés (catalogue epsg, IGN, ESRI). Le plus souvent, les projections ou pseudo-projections (en degrés) sont définies dans la table. Dans les autres cas, on peut ajouter de nouvelles définitions.
- Trouver la projection
EPSG:3347
dans la table spatial_ref_sys
QUESTION
ACA
valeur du champ srtext
pour la projection
EPSG:3347
QUESTION
ACB
valeur du champ proj4text
pour la projection
EPSG:3347
QUESTION
ACC
nom (description courte) de la projection
EPSG:3347
d’après le site spatialreference.org
Créer un nouveau projet QGIS (pour ne pas perdre le précédent, il faut lancer une nouvelle instance de qgis)
- activer pour le projet (Projet
→ Propriétés
→ SCR
) la reprojection à la volée
avec la projection
EPSG:3347
- ajouter la couche communes
(en
EPSG:4326
)
- zoomer sur l’étendue de la couche
QUESTION
ACD
PNG QGIS
QUESTION
ACE
Que voit-on / comment ? (en quelques mots)
QUESTION
ACF
La carte est-elle juste
(au sens scientifique) ?
QUESTION
ACG
La projection est-elle convenable sur ces données ?
QUESTION
ACH
Sur quel pays du monde la projection est-elle le plus adapté ?
AD
Opération sur la table
Les géométries de la table communes
sont en
EPSG:4326
. Nous le savons d’après les méta-données d’origine. Mais physiquement dans la base, les géométries ont un SRID de zéro (SRID=0), ce qui signifie SRID nul
.
Observons en limitant à 100 enregistrement pour le test :
SELECT id, nom,
ST_AsEWKT
(geom),
ST_SRID
(geom) FROM communes LIMIT 100
QUESTION
ADA
la première ligne du résultat de la requête
Nous allons maintenant mettre à jour toutes les géométries ainsi :
UPDATE communes SET geom =
ST_SetSRID
(geom, 4326)
Puis ré-exécuter la même requête pour constater le travail fait :
SELECT id, nom,
ST_AsEWKT
(geom),
ST_SRID
(geom) FROM communes LIMIT 100
QUESTION
ADB
la première ligne du résultat de la requête
- Créer dans la table communes
le champ geom_lambert93
de type geometry
- Mettre à jour le champ geom_lambert93
en transformant le geom
de
EPSG:4326
à
EPSG:2154
par une requête UPDATE
QUESTION
ADB
la requête UPDATE
Dans un nouveau projet QGIS, où la projection à la volée
est désactiver, ajouter comme couche la table communes
pour le champ spatial geom_lambert93
QUESTION
ADC
PNG QGIS
AE
Reprojeter une table entière
Soit le point PT
de coordonnées (3.11546 ; 45.78586)
en référence
EPSG:4326
.
QUESTION
AEA
l’expression SQL à base de
ST_MakePoint
qui construit le point avec sa référence spatiale
La fonction permettant de convertir une géométrie d’une référence à l’autre est
ST_Transform
QUESTION
AEB
l’expression SQL qui reprend AEA
et le transforme pour la référence
EPSG:2154
(la projection Lambert93
)
QUESTION
AEC
le point en référence
EPSG:2154
au format EWKT
B
Gérer les champs GEOMETRY
BA
La vue geometry_columns
- Ouvrir la vue geometry_columns
QUESTION
BAA
Quelle(s) sont les tables ou vues requêtées par cette vue geometry_columns
?
QUESTION
BAB
Où se trouvent ces relations, dans la hiérarchie des objets (dans l’arbre sous pgAdmin) ?
QUESTION
BAC
Est-il possible d’effectuer une requête UPDATE
sur la vue ? Si oui, quel serait effet produit (en terme de mise-à-jour) ?
QUESTION
BAD
Dans la définition de la vue, qu’est-ce qui indique la réponse BAB
?
- Sauver la définition actuelle de la vue geometry_columns
(dans un bloc-note quelconque ou dans une vue backup
) et la mettre à jour pour ne retourner que les champs géométriques de SRID 2154
QUESTION
BAE
Requête SELECT
de la vue mise-à-jour
À présent, les SIG comme QGIS
ne verront plus que les tables/champs géométriques pour cet SRID.
- Restaurer la version d’origine de la vue geometry_columns
BB
Les options du type GEOMETRY
Les
options de type
sont comme des paramètres qui s’ajoutent au type lors de la définition du type d’un champ. Par exemple, la table
communes
contien un champ
insee
de type
character varying(80)
: le type
character varying
accepte le nombre
80
en argument, qui indique le maximum de caractères. Le type
GEOMETRY
exploite ces
type modifiers
pour contraindre un type (point, polygone...), un SRID ou une dimension.
QUESTION
BBA
La définition du type de la colonne communes.geom
- Mettre à jour les colonnes communes.geom
et communes.geom_lambert93
en incluant les contraintes de SRID et de dimension
QUESTION
BBB
La requête ALTER TABLE
qui met à jour la colonne communes.geom
QUESTION
BBC
La requête ALTER TABLE
qui met à jour la colonne communes.geom_lambert93
QUESTION
BBD
À quoi sert techniquement
le modificateur de type de géométrie (point/ligne/poly...) ?
QUESTION
BBE
Et le modificateur SRID ?