Ordre TP geo
20
Spatial.md
20
Spatial.md
@@ -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
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user