Ordre TP geo

2025-09-17 08:44:03 +02:00
parent c9c23f18a8
commit fb9b62323f
4 changed files with 29 additions and 27 deletions

@@ -1,6 +1,4 @@
--- # Base de données spatiales
title: Base de données spatiales
---
> [!NOTE] > [!NOTE]
> **définition :** Une base de données spatiale est une base de données optimisée pour stocker, interroger et manipuler des données géométriques en 3 dimensions (spatiales) et par extension des données géographiques. > **définition :** Une base de données spatiale est une base de données optimisée pour stocker, interroger et manipuler des données géométriques en 3 dimensions (spatiales) et par extension des données géographiques.
@@ -59,7 +57,7 @@ Quelques SRID populaires
Il existe des dizaines d'autres système suivant l'endrit du monde que l'on veut représenter. Il existe des dizaines d'autres système suivant l'endrit du monde que l'on veut représenter.
### Quand utiliser le type de données Géographie ? ### Quand utiliser le type de données Géographie ?
Le type de données géographie permet de stocker des données en coordonnées longitude/latitude, mais à un coût : il y a moins de fonctions définies sur `GEOGRAPHY` que sur `GEOMETRY` ; les fonctions qui sont définies demandent plus de temps de traitement CPU pour être exécutées. Le type de données géographie permet de stocker des données en coordonnées longitude/latitude, mais à un coût : il y a moins de fonctions définies sur `GEOGRAPHY` que sur `GEOMETRY` ; les fonctions qui sont définies demandent plus de temps de traitement CPU pour être exécutées.
@@ -88,20 +86,6 @@ select ST_PointFromText('POINT(15 5)');
`ST_MakePoint` n'est pas conforme au standard mais il a l'avantage d'être rapide et de travailler sur des nombres à la place du texte. `ST_MakePoint` n'est pas conforme au standard mais il a l'avantage d'être rapide et de travailler sur des nombres à la place du texte.
```geojson
{
"type": "Polygon",
"coordinates": [
[
[-90,30],
[-90,35],
[-90,35],
[-85,35],
[-85,30]
]
]
}
```
### Ligne ### Ligne

@@ -10,7 +10,7 @@ Le DCL est utilisé principalement par les administrateurs de bases de données
Cette commande permet d'accorder des privilèges à des utilisateurs ou des rôles. Par exemple, elle peut autoriser un utilisateur à lire, modifier ou supprimer des données dans une table spécifique. Cette commande permet d'accorder des privilèges à des utilisateurs ou des rôles. Par exemple, elle peut autoriser un utilisateur à lire, modifier ou supprimer des données dans une table spécifique.
```sql ```sql
GRANT SELECT ON livres TO albert; GRANT SELECT ON livre TO albert;
``` ```
### Revoke ### Revoke
@@ -18,15 +18,15 @@ GRANT SELECT ON livres TO albert;
Cette commande permet de retirer des privilèges précédemment accordés à un utilisateur ou un rôle Cette commande permet de retirer des privilèges précédemment accordés à un utilisateur ou un rôle
```sql ```sql
REVOKE SELECT ON livres FROM albert; REVOKE SELECT ON livre FROM albert;
``` ```
### Deny ### Deny
Cette coomande est utilisée dans certains systèmes, comme Microsoft SQL Server, pour refuser explicitement des privilèges à un utilisateur ou un rôle, même si celui-ci a reçu des permissions via la commande GRANT Cette commande est utilisée dans certains systèmes, comme Microsoft SQL Server, pour refuser explicitement des privilèges à un utilisateur ou un rôle, même si celui-ci a reçu des permissions via la commande GRANT
```sql ```sql
DENY SELECT ON table_name TO user_name; DENY SELECT ON livre TO albert;
``` ```
#### Pourquoi utiliser Deny ? #### Pourquoi utiliser Deny ?

21
tp1.md

@@ -8,6 +8,21 @@ Ajouter les couches
- Zommer sur l'ile de Batz (En Bretagne, au nord de Morlaix) - Zommer sur l'ile de Batz (En Bretagne, au nord de Morlaix)
### POI (Point of Interest)
- Ajouter une nouvelle table pour les points
- Ajouter un point depuis QGIS : menhir de Kreach ar Bolloch (A) un autre sur le menhir de Porz ar Roc'h
- Calculer la distance entre les 2 menhirs
- Importer le fichier point.csv
```sql
create table point (
id serial primary key,
nom text not null,
altitude double precision,
geom geometry(point, 4326) not null
);
```
2. Créer une table zone 2. Créer une table zone
```sql ```sql
@@ -49,11 +64,7 @@ create table zone (
- Fusionner les 3 régions pour faire une entité ile - 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 - Faire l'intersection des pinèdes avec l'ile pour découper proprement ces zones
### POI (Point of Interest)
- Ajouter une nouvelle table pour les points
- Ajouter un point depuis QGIS : menhir de Kreach ar Bolloch (A) un autre sur le menhir de Porz ar Roc'h
- Calculer la distance entre les 2 menhirs
- Importer le fichier point.csv
### Route ### Route

@@ -193,6 +193,13 @@ Mais quand la dimension n augmente, les distances entre points tendent à se res
- [Indexation vectorielle](vecteurs.index) - [Indexation vectorielle](vecteurs.index)
## PostgreSQL
- `<->` Distance L2
- `<+>` Distance L1
- `<#>` Produit scalaire
- `<=>` Similarité cosinus
## Exercice ## Exercice
1. Construire une base de produits avec vecteurs nutritionnels. 1. Construire une base de produits avec vecteurs nutritionnels.