Index de l'article

Création de zones d'accessibilité en SQL spatial

En guise d'introduction à la création de vraies zones isochrones (un peu de patience !), nous pouvons nous amuser à créer des zones dites d'accessibilité, soit des zones dans lesquelles l'accès à un point donnée est facilité.

Et pour pimenter le tout, au lieu d'utiliser les classiques plugins QGIS, nous allons faire tous les géo-traitements en SQL spatial. L'intérêt est d'être capable de routiniser nos besoins et de ré-utiliser/optimiser nos process. Un autre intérêt, non des moindre, est que le code SQL produit sera standard et valable sur MySQL ou Postgres par exemple.

Allez dans l'onglet Bases de données / Gestionnaire / Couches virtuelles / Couches du projet. Une fois la liste de ce dernier menu déroulé, cliquez sur l'outil Fenêtre SQL, puis :

 

-- SÉLECTION ÎLE-DE-FRANCE
-- PUIS EXPORT EN SHAPE (IRIS_IDF) ET CRÉATION D'UN INDEX SPATIAL
SELECT * FROM IRIS WHERE dep IN (91,92,93,94,95,75,77,78) ;

 

-- SÉLECTION DES IRIS D'IDF INTERSECTANT UN BUFFER 5KMS AUTOUR DES MAGASINS
-- PUIS EXPORT EN SHAPE (IRIS_BUFFER) ET CRÉATION D'UN INDEX SPATIAL
SELECT DISTINCT IRIS_IDF.CODE_IRIS, IRIS_IDF.geometry
FROM IRIS_IDF, (
SELECT Telandcom.code_magas, ST_BUFFER(Telandcom.geometry,5000) AS ma_geometry FROM Telandcom
) AS monBuffer
WHERE ST_INTERSECTS(IRIS_IDF.geometry, monBuffer.ma_geometry) ;

 

-- INTERSECTION ROUTES ET VOIES FERRÉES AVEC ST_UNION SUR IRIS_IDF
-- EXPORT EN SHAPE (RoutesEtFer) ET CRÉATION D'UN INDEX SPATIAL
SELECT VOCATION, ST_INTERSECTION(monUnion.geometry, unionIrisIdf.geometry) AS geometry
FROM
(
SELECT TRONCON_ROUTE.VOCATION, TRONCON_ROUTE.geometry FROM TRONCON_ROUTE
WHERE TRONCON_ROUTE.VOCATION = 'Type autoroutier'
UNION SELECT 'Voies ferrées', TRONCON_VOIE_FERREE.geometry FROM TRONCON_VOIE_FERREE
) AS monUnion,
(
SELECT ST_UNION(geometry) AS geometry FROM IRIS_IDF
) AS unionIrisIdf 
WHERE ST_INTERSECTS(monUnion.geometry, unionIrisIdf.geometry) = 1 ;

 

-- SÉLECTION DES IRIS_IDF INTERSECTANT RoutesEtFer
-- PUIS EXPORT EN SHAPE (IRIS_ACCES) ET CRÉATION D'UN INDEX SPATIAL
SELECT DISTINCT IRIS_IDF.CODE_IRIS, IRIS_IDF.geometry
FROM IRIS_IDF, RoutesEtFer
WHERE ST_INTERSECTS(IRIS_IDF.geometry, RoutesEtFer.geometry) ;

 

-- ÉVICTION DES IRIS_ACCES DANS IRIS_BUFFER
-- SIMPLE TEST POUR L'INSTANT
SELECT CODE_IRIS, geometry
FROM IRIS_ACCES
WHERE CODE_IRIS NOT IN
(SELECT CODE_IRIS FROM IRIS_BUFFER) ;

 

-- UNION IRIS_BUFFER AVEC LES IRIS_ACCES ÉVINCÉS
SELECT CODE_IRIS, geometry FROM IRIS_BUFFER
UNION SELECT CODE_IRIS, geometry
FROM IRIS_ACCES
WHERE CODE_IRIS NOT IN
(SELECT CODE_IRIS FROM IRIS_BUFFER) ;

Extrait zones SQL

Bien, maintenant passons à la création de vraies zones isochrones, et même à leur optimisation avec Python, rendez-vous ici !

 

Liens ou pièces jointes
Accéder à cette adresse URL (https://hg-map.fr/extern/data/Activité des résidents.xlsx)Activité des résidents[Activité des résidents]0 Ko
Accéder à cette adresse URL (https://hg-map.fr/extern/data/shapes/france/BPE.zip)BPE[ ]0 Ko
Accéder à cette adresse URL (http://hg-map.fr/extern/data/shapes/country.zip)country.zip[Countries]0 Ko
Accéder à cette adresse URL (https://hg-map.fr/extern/data/Couples - Familles - Ménages.xlsx)Couples - Familles - Ménages[Couples - Familles - Ménages]0 Ko
Accéder à cette adresse URL (https://hg-map.fr/extern/data/shapes/france/IRIS.zip)IRIS[ ]0 Ko
Télécharger ce fichier (mag_telandcom.zip)mag_telandcom.zip[mag_telandcom]22 Ko
Télécharger ce fichier (soft_customers.xlsx)soft_customers[Clients]4591 Ko
Télécharger ce fichier (soft_orders.xlsx)soft_orders[Commandes effectuées]96 Ko
Accéder à cette adresse URL (https://hg-map.fr/extern/data/shapes/france/TRONCON_HYDROGRAPHIQUE.zip)TRONCON_HYDROGRAPHIQUE[ ]0 Ko
Accéder à cette adresse URL (https://hg-map.fr/extern/data/shapes/france/TRONCON_ROUTE.zip)TRONCON_ROUTE[ ]0 Ko
Accéder à cette adresse URL (https://hg-map.fr/extern/data/shapes/france/TRONCON_VOIE_FERREE.zip)TRONCON_VOIE_FERREE[ ]0 Ko
Télécharger ce fichier (_PourExporterDonnées.sql)_PourExporterDonnées.sql[Pour filtrer/mettre à jour/exporter les données]1 Ko