Travaux pratiques
1. Logiciel de cartographie
- Installer (Dezziper à la racine de C:\)
- Ajouter une couche XYZ avec OpenStreetMap (https://tile.openstreetmap.org/{z}/{x}/{y}.png)
- Zommer sur l'ile de Batz (En Bretagne, au nord de Morlaix)
2 POI (Point of Interest)
- Ajouter la table des points
carte.point. - Passez en mode édition (crayon jaune)
- Ajouter une entité point depuis QGIS
- menhir de Kreach ar Bolloch (A) (id = 70)
- Le Roc'h (B) (id = 71)
- Enregistrer dans la base de données (disquette)
- Vérifier dans pgAdmin la présence de ces deux enregistrements.
- Sortir du mode d'édition.

Calculer la distance entre ces 2 points
Utiliser l'outil règle
Changer le système de coordonnées EPSG:2154
A l'aide des coordonnées dans la projection Lambert 93 calculer la distance.
create table point (
id integer primary key generated by default as identity,
nom text not null,
altitude double precision,
geom geometry(point, 4326) not null
);
Surface
Ajouter la table carte.zone
create table zone (
id integer primary key generated by default as identity,
nom text,
categorie text,
geom geometry(polygon, 4326) -- on choisit srid 4326 (wgs84)
);
- Ajouter une couche postgreSQL sur la table zone
- Changer le style de remplissage pour avoir une semi transparence (opacité)
- Entrer en édition sur la couche avec l'icône crayon
Terrain de Sport
- Cliquer sur le bouton ajouter une entité (Ctrl + Maj + point)
- Dessiner le terrain de sport
- Enregistrer
- Avec pgAdmin vérifier l'existence de l'entité et modifier son nom et sa catégorie
- Calculer l'aire du terrain et son périmètre
- Changer la projection pour avoir le résultat en mètres
Le marais Poullou
- Dessiner le marais Poullou Attention celui ci est en deux partie
- Changer le type de la colonne en multipolygon en mettant à jour le type de la colonne
- Fusionner les 2 lignes du marais en un seul multiploygone
La Pinède
- Dessiner la pinède ouest en faisant 3 parties (utiliser le magnétisme)
- Vérifier que les 3 parties sont adjacentes
- Fusionner les 3 parties (ST_UNION)
Carte
- Fusionner les 3 régions pour faire une entité ile
- Faire l'intersection des pinèdes avec l'ile pour découper proprement ces zones
Route
- Ajouter une nouvelle table route
- Tracer une route rue de Saint Anne
- Calculer la longueur de la route
- Calculer la distance entre les 2 extrémités
- Ajouter une 2e route qui croise la rue Saint Anne (Déchetterie à Auberge de jeunesse)
- Extraire l'intersection
SELECT * INTO carte.vertex
FROM pgr_extractVertices('SELECT id, geom FROM carte.route ORDER BY id');
Points
- Quels sont les points dans la région ouest
- Quels sont les points dans les pinèdes
pgRouting
- Importer les routes et le coût des routes
- utiliser pgRouting pour afficher l'itinéraire entre le casino et le fort
Raster
Créer un fichier texte : elevation.asc
NCOLS 8
NROWS 4
XLLCORNER 182900.0000
YLLCORNER 6871300.0000
CELLSIZE 500
NODATA_VALUE -1
-1 5 15 25 15 10 5 -1
10 10 20 50 40 30 20 10
5 15 25 45 40 35 25 15
-1 18 22 32 42 32 22 5
Ajouter une couche Raster.
raster2pgsql -s 2154 -I -C -M elevation.asc -F carte.altitude | psql -h tpinfo.neotechweb.net -d tpinfo -U tpinfo
SELECT
p.id,
p.geom,
ST_Value(r.rast, ST_Transform(p.geom, 2154)) AS altitude
FROM carte.point p
JOIN carte.altitude r
ON ST_Intersects(r.rast, ST_Transform(p.geom, 2154))
UPDATE carte.point p
SET altitude = ST_Value(r.rast, ST_Transform(p.geom, 2154))
FROM carte.altitude r
WHERE ST_Intersects(r.rast, ST_Transform(p.geom, 2154));
Utiliser un fichier avec une meilleure définition elevation