|
recette
#19 |
F�vrier 2011 |
Le probl�me Local
Councils, Counties et Regions suivent un ordre
hierarchique
bien pr�cis. |
Commen�ons par cr�er une nouvelle BDD; sous spatialite_gui
importons le shapefile com2010_s.
puis le jeu de donn�e prov2010_s
: c'est aussi un shapefile.
Dans notre cas, ignorons
simplement la g�om�trie des Counties.
(on les recr�era nous
m�me).
On va donc se contenter d'importer uniquement le
fichier .DBF , contenant uniquement les donn�es
attributaires.
Faisons la m�me chose avec le fichier .DBF
de reg2010_s.
CREATE
VIEW local_councils AS SELECT * FROM local_councils; |
cod_reg |
cod_pro |
cod_com |
nome_com |
nome_pro |
sigla |
nome_reg |
geometry |
1 |
1 |
1 |
Agli� |
Torino |
TO |
PIEMONTE |
BLOB sz=1117 GEOMETRY |
1 |
1 |
2 |
Airasca |
Torino |
TO |
PIEMONTE |
BLOB sz=1149 GEOMETRY |
1 |
1 |
3 |
Ala di Stura |
Torino |
TO |
PIEMONTE |
BLOB sz=1933 GEOMETRY |
... |
... |
... |
... |
... |
... |
... |
... |
Ceci va cr�er une VIEW (VUE) local_councils; cette VIEW repr�sente une jolie table incluant toutes les donn�es dont nous auront besoin pour r�aliser l'analyse spatiale. Pratique les vues, n'est-ce pas ?
CREATE
TABLE counties AS SELECT
RecoverGeometryColumn('counties', 'geometry', |
Cr�ons maintenant la table countries:
la fonction ST_Union() est utilis�e pour fusionner/assembler les objets G�om�triques.
la clause GROUP BY cod_pro suite � ST_Union() va permettre de construire les g�om�tries individuelles de chaque Countie
note: la fonction RecoverGeometryColumn() est indispensable pour authentifier la colonne counties.geometry et la transformer en colonne g�om�trique 100% l�gitime
SELECT * FROM counties; |
cod_pro |
nome_pro |
sigla |
cod_reg |
nome_reg |
geometry |
1 |
Torino |
TO |
1 |
PIEMONTE |
BLOB sz=36337 GEOMETRY |
2 |
Vercelli |
VC |
1 |
PIEMONTE |
BLOB sz=27357 GEOMETRY |
3 |
Novara |
NO |
1 |
PIEMONTE |
BLOB sz=15341 GEOMETRY |
... |
... |
... |
... |
... |
... |
Petite v�rification ...
Visualisez la couche counties
via QGIS.
CREATE
TABLE regions ( SELECT
AddGeometryColumn('regions', 'geometry', INSERT INTO regions
(cod_reg, nome_reg, geometry) |
On va maintenant cr�er la table regions:
comme pr�c�demment, nous allons utiliser ST_Union() et GROUP BY pour obtenir la g�om�trie des regions.
note:dans cet exemple, nous avons explicitement
cr�� la table regions
, puis utilis� AddGeometryColumn()
afin de cr�er la colonne regions.geometry
.
Enfin, nous avons ex�cut� le code INSERT
INTO ... (...) SELECT ... pour peupler la table.
La
proc�dure est diff�rente, mais le r�sultat final est le m�me
qu'avec la proc�dure pr�c�dente.
SELECT * FROM regions; |
cod_reg |
nome_reg |
geometry |
1 |
PIEMONTE |
BLOB sz=75349 GEOMETRY |
2 |
VALLE D'AOSTA/VALL�E D'AOSTE |
BLOB sz=18909 GEOMETRY |
3 |
LOMBARDIA |
BLOB sz=83084 GEOMETRY |
... |
... |
... |
Petite v�rification ...
Vous pouvez visualiser la couche regions
via QGIS.
CREATE
TABLE italy AS SELECT
RecoverGeometryColumn('italy', 'geometry', |
Pour terminer, nous allons cr�er une
table italy
repr�sentant la g�om�trie globale du pays.
Vous pouvez visualiser la couche italy
via QGIS � et c'est tout.
|
Author: Alessandro Furieri a.furieri@lqt.it |
This work is licensed under the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. |
|
|
|
|
Permission is granted to copy, distribute and/or modify this
document under the terms of the |