mapinfo et les requêtes sql - loiret.gouv.fr · mapinfo et les requêtes sql mapinfo et les...
TRANSCRIPT
Mapinfo et les requêtes SQL
Mapinfo et les requêtes SQL
Olivier Tournaire
Université de Marne-la-Vallée
31 janvier 2007Master I Géo-Environnement
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLINTRODUCTION
Introduction - Généralités
SQL (Structured Query Language) est unLDD (Language de Définition de Données)_ Créer / modifier / supprimer tablesLMD (Language de Manipulation de Données)_ Sélectionner / insérer / modifier / supprimer donnéesdans une tableLCD (Language de Contrôle de Données)_ Définir des permissions au niveau des utilisateurs
Commande principale : SELECT (algèbre relationnelle)_ SELECT <liste des noms de colonnes> | * FROM<liste des noms de tables> [WHERE <condition>][GROUP BY] [HAVING] [ORDER BY]
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Les opérateurs sur les attributsOpérateur de restriction
WHEREOpérateurs logiques
AND OR NOTComparateurs de chaînes
IN BETWEEN LIKEOpérateurs arithmétiques
+ - * / %Comparateursarithmétiques
= != > < >= <=<> !> !<
Table exemple : ArbresOlivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection simpleSélectionner tout_ Select * From ArbresSélection de certaines colonnes_ Select Espece,EtatPhytosanitaire From Arbres
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection sur critère(s)
Sélection sur un critère_ Select * From Arbres Where AnneePlantation < 1970
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection sur critère(s)
Sélection multi-critère_ Select * From Arbres Where EtatPhytoanitaire ="Malade" And Zone = "Z3"
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection sur critère(s)
Sélection multi-critère (les deux requêtes donnent lemême réultat ...)_ Select * From Arbres Where AnneePlantation > 1800And AnneePlantation <= 1900_ Select * From Arbres Where AnneePlantation Between1801 And 1900
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection avec ordonancementOrdonancement simple_ Select * From Arbres Order By Espece ASC
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection avec ordonancementOrdonancement multiple_ Select * From Arbres Order By Espece ASC,AnneePlantation ASC
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection sur chaines de caractères
Avec des caractères joker (Espèces dont la deuxièmelettre est un "h"_ Select * From Arbres Where Espece Like "_h
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection sur chaines de caractères
Sélection dans un ensemble de valeurs_ Select * From Arbres Where Espece In ("Micocoulier" ,"Myosotis")
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection avec regroupement
Sélection distincte_ Select Espece From Arbres Group By Espece
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection avec regroupement
Avec la clause GROUP BY_ AVG COUNT MAX MIN SUMPermet d’effectuer des statistiques sur les résultats derequêtes
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection avec regroupement
Compter le nombre d’arbres sains et malades (aveccréation d’une colonne "NbArbres")_ Select EtatPhytosanitaire, count(*)"NbArbres" FromArbres Group By EtatPhytosanitaire
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES
Sélection avec regroupementCompter le nombre d’arbres sains et malades par espèceet trier par nom d’espèce_ Select Espece, EtatPhytosanitaire, count(*)"NbArbres"From Arbres Group By Espece, EtatPhytosanitaire OrderBy Espece Asc
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLJOINTURES
Jointure (Θ-jointure)Une jointure est un produit cartésien de deux tablesUne équijointure est une Θ-jointure dont la qualificationest une égalité entre deux colonnesEn SQL : préciser le nom des colonnes des tables surlesquelles on fait la jointure avec le qualificatif WHERESeconde table exemple : Techniciens
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLJOINTURES
Jointure (Θ-jointure)Sélection des espèces et des états phyto-sanitaires dansla table Arbres et des noms de techniciens dans la tableZoneTechnicien_ La jointure se fait sur la colonne Zone qui est communeaux deux tables_ Select Arbres.Espece,Arbres.EtatPhytosanitaire,Technicien.Technicien FromArbres, Technicien Where Arbres.Zone = Technicien.Zone
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL SPATIALES
Les opérateurs spatiaux
Opérateurs spécifiques aux SIG_ Requêtes sur les objets géographiques⇒ Le résultat est à la fois attributaire et spatial (sélectiondans la(es) table(s) et dans les objets géographiques)Contains : A "contains" B ⇔ le centroïde de B est dans AContains entire : A "contains entire" B ⇔ B est dans AWithin : A "within" B ⇔ le centroïde de A est dans BEntirely within : A "entirely within" B ⇔ A est dans BIntersects : A "intersects" B ⇔ A et B sont d’intersectionnon nulle
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL SPATIALES
Les opérateurs spatiaux
Les requêtes spatiales se font grâce à l’attribut objFonctions sur les objets géographiques
CartesianAreaCartesianPerimeterObjectLenCentroid...
Possibilité de combiner requêtes attributaires et spatiales
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL SPATIALES
Les opérateurs spatiaux
Sélection des bâtiments de plus de 1000 m2
_ Select * from Batiment where CartesianArea(obj, "sq m")> 1000
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL SPATIALES
Les opérateurs spatiaux
Sélection des bâtiments de plus de 1000 m2
_ Select * from Batiment where CartesianArea(obj, "sq m")> 1000
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL SPATIALES
Les opérateurs spatiauxSélection des bâtiments qui intersectent une limitecommunale_ Select * from Batiment, Communes where Batiment.objIntersects Commune.Obj
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL SPATIALES
Les opérateurs spatiauxSélection des bâtiments qui intersectent une limitecommunale_ Select * from Batiment, Communes where Batiment.objIntersects Commune.Obj
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL MIXTES
Requêtes SQL mixtesSélection des bâtiments de plus de 800 m2 situés sur lacommune de Boulogne-Billancourt_ Select * from Batiment, Commune where Batiment.objintersects Commune.obj and Commune.Nom Like"Boulogne%" And CartesianArea(Batiment.obj, "sq m") > 800
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLREQUETES SQL MIXTES
Requêtes SQL mixtesSélection des bâtiments de plus de 800 m2 situés sur lacommune de Boulogne-Billancourt_ Select * from Batiment, Commune where Batiment.objintersects Commune.obj and Commune.Nom Like"Boulogne%" And CartesianArea(Batiment.obj, "sq m") > 800
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de MapinfoAccessible par le menu Query > SQL select ...Permet d’automatiser l’écriture des requêtes à partir d’uneinterface graphique
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de Mapinfo
1
1 On commence parsélectionner lestables
2 On sélectionneensuite les colonnesdes tables
3 On écrit la ou lesconditions desélection
4 On choisit(éventuellement) desregroupements etdes ordonancements
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de Mapinfo
11
1 On commence parsélectionner lestables
2 On sélectionneensuite les colonnesdes tables
3 On écrit la ou lesconditions desélection
4 On choisit(éventuellement) desregroupements etdes ordonancements
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de Mapinfo
111
2
1 On commence parsélectionner lestables
2 On sélectionneensuite les colonnesdes tables
3 On écrit la ou lesconditions desélection
4 On choisit(éventuellement) desregroupements etdes ordonancements
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de Mapinfo
111
2
1
2
1 On commence parsélectionner lestables
2 On sélectionneensuite les colonnesdes tables
3 On écrit la ou lesconditions desélection
4 On choisit(éventuellement) desregroupements etdes ordonancements
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de Mapinfo
111
2
1
2
1
2
3
1 On commence parsélectionner lestables
2 On sélectionneensuite les colonnesdes tables
3 On écrit la ou lesconditions desélection
4 On choisit(éventuellement) desregroupements etdes ordonancements
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL
Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO
L’interface de Mapinfo
111
2
1
2
1
2
3
1
2
3
} 4
4
1 On commence parsélectionner lestables
2 On sélectionneensuite les colonnesdes tables
3 On écrit la ou lesconditions desélection
4 On choisit(éventuellement) desregroupements etdes ordonancements
Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL