Ordre TP geo
20
Spatial.md
20
Spatial.md
@@ -1,6 +1,4 @@
|
||||
---
|
||||
title: Base de données spatiales
|
||||
---
|
||||
# Base de données spatiales
|
||||
|
||||
> [!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.
|
||||
@@ -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.
|
||||
|
||||
### 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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
```geojson
|
||||
{
|
||||
"type": "Polygon",
|
||||
"coordinates": [
|
||||
[
|
||||
[-90,30],
|
||||
[-90,35],
|
||||
[-90,35],
|
||||
[-85,35],
|
||||
[-85,30]
|
||||
]
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 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.
|
||||
|
||||
```sql
|
||||
GRANT SELECT ON livres TO albert;
|
||||
GRANT SELECT ON livre TO albert;
|
||||
```
|
||||
|
||||
### 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
|
||||
|
||||
```sql
|
||||
REVOKE SELECT ON livres FROM albert;
|
||||
REVOKE SELECT ON livre FROM albert;
|
||||
```
|
||||
|
||||
### 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
|
||||
DENY SELECT ON table_name TO user_name;
|
||||
DENY SELECT ON livre TO albert;
|
||||
```
|
||||
|
||||
#### Pourquoi utiliser Deny ?
|
||||
|
||||
21
tp1.md
21
tp1.md
@@ -8,6 +8,21 @@ Ajouter les couches
|
||||
- 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
|
||||
|
||||
```sql
|
||||
@@ -49,11 +64,7 @@ create table zone (
|
||||
- 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
|
||||
|
||||
### 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
|
||||
|
||||
@@ -193,6 +193,13 @@ Mais quand la dimension n augmente, les distances entre points tendent à se res
|
||||
- [Indexation vectorielle](vecteurs.index)
|
||||
|
||||
|
||||
## PostgreSQL
|
||||
|
||||
- `<->` Distance L2
|
||||
- `<+>` Distance L1
|
||||
- `<#>` Produit scalaire
|
||||
- `<=>` Similarité cosinus
|
||||
|
||||
## Exercice
|
||||
|
||||
1. Construire une base de produits avec vecteurs nutritionnels.
|
||||
|
||||
Reference in New Issue
Block a user