#1 Fri 17 June 2016 11:39
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Taches urbaines une autre approche
Bonjour,
La définition de la tùche urbaine par la méthode répandue des tampons donne un résultat qui n'est vraiment pas joli, je ne l'ai pas pratiquée mais les résultats sont visibles dans beaucoup de documents publics (le PADDUC Corse par exemple).
La critique étant aisée mais l'art difficile, j'ai voulu étudier une autre approche de traitement autopmatique à l'aide de postgresql/postgis (2.2).
Source de la donnée : EDIGéO DGFiP 2013, couche bùtiments (polygones), table postgis : 'batiment'
La premiĂšre Ă©tape consiste Ă crĂ©er des polygones uniques pour un ensemble de bĂątiments qui partages une arĂȘte commune.
Utilisation de st_clusterintersecting pour générer des multipolygones, puis un st_union(st_dump(geom)) sur chaque grappe créée pour obtenir un polygone unique pour chaque grappe.
Utilisation de st_clusterwithin pour générer des multi-polygones en fonction d'une distance (ici 50 m).
Puis gĂ©nĂ©ration de l'enveloppe uniquement pour les bĂątiments qui ne sont pas isolĂ©s avec la requĂȘte suivante :
WITH p as (SELECT id,(st_dump(geom)) AS path FROM grappe_bati50),
t as (SELECT id,count(id) as nb FROM p GROUP BY id)
SELECT st_concavehull(geom,0.98)
INTO env_bati_50
FROM grappe_bati50 WHERE id IN (SELECT id FROM t WHERE nb>1)
L'ensemble du traitement pour la région prends environ 30 mm sur une base locale avec un poste de travail de type HP Z600 12 Go RAM double XEON quadcore.
Tout ceci pour souligner les apports de postgres/postgis dans leur nouvelle version et la puissance d'une approche SIG par rapport Ă celle logiciel SIG (je ne cite pas de marques
).
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#2 Fri 17 June 2016 12:14
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1566
Re: Taches urbaines une autre approche
Nice ![]()
Nico
Hors ligne
#3 Fri 17 June 2016 12:38
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 628
Re: Taches urbaines une autre approche
TrÚs intéressant !
Au delà de la rapidité des traitements, pourrait on avoir une comparaison visuelle des deux approches?
Pascal PLUVINET
Hors ligne
#4 Fri 17 June 2016 22:37
Re: Taches urbaines une autre approche
Salut l'artiste,
Effectivement, je rejoins Pascal, et j'attends de voir ![]()
Bruno
Hors ligne
#5 Mon 20 June 2016 10:02
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 1044
Re: Taches urbaines une autre approche
Super intéressant !
La premiÚre partie de ton travail correspond exactement à quelque chose que je souhaite faire sur PostGis sur une thématique différentes. J'avais posé la question sur le Forum SIG à cette adresse.
Il me semble, sauf erreur, que ta méthode répond à ma question.
Pourrais-tu dĂ©tailler un peu plus les requĂȘtes que tu utilises pour cette partie de ta mĂ©thode :
La premiĂšre Ă©tape consiste Ă crĂ©er des polygones uniques pour un ensemble de bĂątiments qui partages une arĂȘte commune.
Utilisation de st_clusterintersecting pour générer des multipolygones, puis un st_union(st_dump(geom)) sur chaque grappe créée pour obtenir un polygone unique pour chaque grappe.
Si je trouve le temps, j'essaierai d'appliquer ces requĂȘtes aux donnĂ©es EDIGEO de mon territoire : merci du partage !
A+
Sylvain M.
Sylvain M.
Hors ligne
#6 Tue 21 June 2016 09:11
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Pour dans un premier temps répondre à Sylvain:
Code:
WITH p as (SELECT st_collectionextract(unnest(st_clusterintersecting(st_accum(geom))),3) as geom FROM batiment),
t as (SELECT row_number() OVER() as id, geom FROM p)
SELECT id,((st_dump(geom)).geom) as geom
INTO test2
FROM t;
SELECT id,st_union(st_makevalid(geom)) as geom
INTO polybatiment
FROM test2
GROUP BY id;La premiÚre CTE créée les grappes des bùtiments qui se touchent (qui ont une intersection en fait). Le tableau résultat est distribué pour chaque ligne du tableau. La seconde CTE (t) permet d'attribuer un identifiant unique à chaque grappe.
On décompose ensuite la géométrie multipolygon de chaque grappe et on enregistre. Car la fonction a pu générer des polygones dont la géométrie est invalide (self-intersection).
Ensuite aprĂšs avoir rendu valide la gĂ©omĂ©trie un union sur les polygones appartenant Ă la mĂȘme grappe, d'oĂč l'utilitĂ© de l'ID gĂ©nĂ©rĂ©e par row_number() over().
Ci-joint deux captures d'écran, capture2 : les bùtiments capture3 : polybatiment
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#7 Tue 21 June 2016 09:12
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
?
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#8 Tue 21 June 2016 09:17
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Pour répondre à Bruno et Pascal:
Methode des tampons
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#9 Tue 21 June 2016 09:17
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Enveloppe selon mon procédé
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#10 Tue 21 June 2016 09:18
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Superposition des deux
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#11 Tue 21 June 2016 09:55
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: Taches urbaines une autre approche
Bonjour.
TrĂšs intĂ©ressant. Merci pour la mĂ©thodo et les requĂȘtes dĂ©taillĂ©es.
JP
Hors ligne
#12 Tue 21 June 2016 10:24
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Un petit enfin des petits oublis:
Une carto avec les bĂątiments, c'est mieux pour voir l'enveloppe ... !
La méthode de fusion des bùtiments adjacents permet de passer d'une table de 275 361 polygones à une table de 156 970 polygones.
DeuxiĂšmement outre le fait qu'en fonction du nombre de bĂątiments dans une grappe et de la surface de la grappe on peut faire varier le traitement st_concavhull().
Que l'ensemble Ă©tant cohĂ©rent avec le reste du cadastre on peut faire une requĂȘte de type quelles sont les parcelles incluses dans l'enveloppe qui ne sont pas bĂąties (gĂ©nĂ©ration de trous), ou quelles sont les parcelles non bĂąties ayant une intersection sans ĂȘtre entiĂšrement contenues dans l'enveloppe (amĂ©lioration du contour).
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#13 Tue 21 June 2016 12:21
- CGuillaume
- Participant actif
- Lieu: Annecy
- Date d'inscription: 3 Aug 2011
- Messages: 59
Re: Taches urbaines une autre approche
Merci Christophe, direction les marques pages Ă tester ![]()
Hors ligne
#14 Tue 21 June 2016 14:57
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 1044
Re: Taches urbaines une autre approche
Pour dans un premier temps répondre à Sylvain:
Merci beaucoup ! ![]()
Bon, par contre j'ai juste un souci (certainement lié à mon apprentissage encore trop partiel de PostGis) : je ne trouve pas la fonction st_clusterintersecting() dans la liste des fonctions de ma base de données (recherche via PgAdmin).
Comment faut-il faire pour ajouter cette fonction ? (installer une extension particuliĂšre ?)
Encore merci !
Sylvain M.
Sylvain M.
Hors ligne
#15 Tue 21 June 2016 15:14
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Il faut la version 2.2 de Postgis
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#16 Tue 21 June 2016 16:02
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 628
Re: Taches urbaines une autre approche
IntĂ©ressant effectivement, nĂ©anmoins le rĂ©sultat est bien diffĂ©rent, et donc la mĂ©thode dĂ©pend certainement de ce que l'on recherche. Si on a une forĂȘt au milieu de la ville sans bĂątiments, j'ai l'impression que cette forĂȘt sera prise en compte dans un cas et pas dans l'autre.
Pour avoir des enveloppes urbaines un peu moins arrondies, j'avais testé ceci :
Code:
create table shtest.tachurb as
select 'tachbat'::text as typ,
(st_dump(
st_buffer(
st_union(
st_buffer(geom,50,'join=mitre endcap=square mitre_limit=5.0')
),
-50, 'join=mitre endcap=square mitre_limit=5.0')
)).geom as geom
from shtest.bati ;L'option "join=mitre endcap=square mitre_limit=5.0" permet de prendre en compte la forme carré des bùtiments.
Dernière modification par ppluvinet (Mon 27 June 2016 09:34)
Pascal PLUVINET
Hors ligne
#17 Tue 21 June 2016 16:16
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Effectivement, le but étant d'obtenir automatiquement une enveloppe caractérisée (nb de bùtiments par grappe).
Comme prĂ©cisĂ© ensuite, ces enveloppes vont faire l'objet d'un travail spĂ©cifique. Pour le cas de la forĂȘt il est simple de connaĂźtre toutes les parcelles non bĂąties dans une enveloppe par exemple.
Je rĂ©pĂštes il s'agit d'un traitement automatique, l'intĂ©rĂȘt Ă©tant d'obtenir un premier zonage et de pouvoir identifier chaque zone et le tout rapidement.
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#18 Wed 22 June 2016 12:00
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 1044
Re: Taches urbaines une autre approche
Il faut la version 2.2 de Postgis
Merci beaucoup : la requĂȘte s'est donc exĂ©cutĂ©e sans problĂšme aprĂšs mise Ă jour de PostGis.
Sylvain M.
Hors ligne
#19 Fri 24 June 2016 13:06
Re: Taches urbaines une autre approche
Bonjour Ă tous,
Je regarde avec intĂ©rĂȘt vos Ă©changes car nous sommes en train de rĂ©aliser une Ă©tude comparable sur notre territoire de parc naturel rĂ©gional.
Nous utilisons aussi la méthode du CERTU (Détermination d'un MOS et calcul d'une tache urbaine à partir de la BD TOPO Ÿ de l'IGN) en
travaillant sur des croisement BDTOP, Cadastre ...
Nous travaillons en dilation-erosion avec des buffer que que avons repréciser suite à nos testes sur un petits secteur (15 communes).
Pour les testes logiciels, nous utilisons actuellement QGis et ArcGIS (gdb)+ extensions ...
En l'état actuel, nous avons lancé et travaillons à l'échelle de deux départements avant de découper pour notre territoire ou des sous secteurs.
Ma question est assez simple, j'avais envisagé de travailler avec PostGis dÚs le départ mais je viens juste de m'y mettre, mes compétences sont trÚs basiques pour l'instant. Vous allez me dire, il faut bien commencer mais le temps nous manque énormément...
Aussi, j'en appelle Ă la communautĂ©, quelqu'un a peut-ĂȘtre dĂ©jĂ Ă©crit un requĂȘte ou des bouts qui nous permettrais de tester cette mĂ©thode sous PostGIS.
Notre schĂ©ma de traitement / requĂȘte est assez simple (je pense pour un spĂ©cialiste) une fois les donnĂ©es importĂ©es dans la base :
On travaille en deux groupes de données sur quatre millésimes des données
Dilation - érosion
1 - squelette bĂąti
- Dilation 50m. avec fusion des buffers : Regroupement des couches utiles pour une dilation Ă 50m : BdTopo + bĂąti cadastre.
+ Fusion en sortie
+ ajout de champs pour faire les statistiques
- Dilation 100m avec fusion des buffers : Regroupement des couches utiles pour une dilation Ă 70m : Zones urbaines
+ Erosion -70 avec fusion des buffers
- regroupement de toutes les couches du squelette bĂąti
- Mise Ă jour et calcul des champs
-
2 - Squelette Infrastructures
MĂȘme procĂ©dure mais dilation selon le champs de valeur de la BDtopo avec des mise Ă jour par nos soins
3 - Chaque squelette devant Ă la fin ĂȘtre passĂ© en multitosimple polygone et redĂ©coupĂ© par secteur voir par communes afin de crĂ©er des stats par secteurs, communes
VoilĂ , si jamais l'un de vous la requĂȘte en stock ou des bouts de codes, je suis trĂšs preneur.
Naturellement, nous diffuserons nos résultats et nos testes de dilation-érosion, notamment un dossier techniques sur qu'elle données utiles, quels buffers ? quelles marge d'erreurs ...
J'espÚre avoir été clair dans notre descriptif succinct,
Un grand merci par avance à la communauté,
Un grand débutant....
Laurent A.
Sig PnrMCB
Hors ligne
#20 Mon 27 June 2016 08:56
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Pour les testes logiciels, nous utilisons actuellement QGis et ArcGIS (gdb)+ extensions .
une fois les données importées dans la base
Quelle base ?
Si j'ai proposĂ© ici des requĂȘtes et un processus dĂ©taillĂ© c'est uniquement pour mettre en lumiĂšre l'utilisation de fonctions rĂ©centes de Postgis qui ne sont pas faciles Ă utiliser a priori.
Votre approche est pour moi peu claire conformément à beaucoup de processus ou documents publié par des spécialistes qui ne sont pas des spécialistes. Je m'explique ils sont spécialistes de l'urbanisme, mais en matiÚre de base de données, d'algorithmes, de normalisation informatique ... En plus leur spécialité c'est d'utiliser des acronymes et autre mots "qui font bien", comme disait Coluche c'est le genre de type à qui tu poses une question et tu ne comprends plus la question posée quand il t'a répondu.
Il faudrait déjà se mettre d'accord sur la définition de la tùche urbaine, le CERTU dans son document
http://www.territoires-ville.cerema.fr/ … 7e63d5.pdf
reconnait que la chose est floue. (entre parenthĂšses il y a des grosses bĂȘtises sur les donnĂ©es cadastrales dans ce document).
Ensuite je n'arrive pas à concevoir que ces services publics fassent la promotion de solution logicielles propriétaires, c'est plus facile d'augmenter les impÎts que de réduire les coûts ?
Et enfin comme je le disais dans mes précédents messages il faut différencier l'approche logiciel SIG de l'approche SIG. Un systÚme d'information repose sur trois composantes, l'architecture physique (un véritable SI c'est pas sur un portable), l'architecture logique (moteur de BD, architecture relationnelle des données), et enfin l'architecture logicielle qui est l'interface entre l'homme et le systÚme.
Vous parlez de QGis et d'Arcview, trÚs bien mais ce ne sont que des moyens pour visualiser les données, certainement pas un moyen efficace de les interroger.
Cette problématique est générale, et lorsque l'on lit les document cité en lien, il est clair que l'approche architecture logique est complétement ignorée.
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#21 Fri 03 March 2017 08:49
- Lucie D.
- Participant actif
- Date d'inscription: 21 Oct 2013
- Messages: 137
Re: Taches urbaines une autre approche
Bonjour,
Comme je le disais Ă ChristopheV dans un autre sujet, je fais des tests sur cette autre approche de la tache urbaine.
J'ai fait le test sur un département tout entier, mais il me sort une grosse tache sur l'ensemble de mon département...(voir piÚce jointe).
J'ai effectuĂ© un st_concavhull(st_union(geom),0.98) mais peut-ĂȘtre n'aurais-je pas dĂ» lancer le st_union??? J'aimerais avoir plusieurs tĂąches de ce type mais plus petites pour identifier les zones plus urbaines...? =p
Merci beaucoup!
Bonne journée.
Bien cordialement,
Lucie D.
Dernière modification par Lucie D. (Fri 03 March 2017 08:50)
Hors ligne
#22 Tue 14 March 2017 09:48
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Il y a tous les éléments plus haut pour comprendre ...
Regardez bien Ă quoi sert la clause GROUP BY ...
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#23 Wed 29 March 2017 23:14
- CRIGBAB
- Participant assidu
- Lieu: Bayonne
- Date d'inscription: 14 Nov 2005
- Messages: 180
Re: Taches urbaines une autre approche
Bonsoir Ă tous,
Sujet vraiment passionnant. MĂȘme si je n'ai pas testĂ© je vois le rĂ©sultat et m'interroge sur les fonctions dont la ''st_clusterintersecting'' car Ă la vue du extrait capture6.png j'ai du mal Ă voir une cohĂ©rence dans la construction de ''l'enveloppe'' qui laisse des ''failles'' sur certaines zones et bouche des trous Ă©normes dans d'autres.
L'ordre d'enregistrement des entités a-t-elle une influence?
Tout cela mérite une analyse plus approfondie pour comprendre un tant soit peu le processus mathématique de calcul.
Je m'intĂ©resse au sujet car dans le cadre de la rĂ©vision du PLUI nous cherchons a ''crĂ©er'' les zones agglomĂ©rĂ©es avec un minimum de cohĂ©rence. Si nous nous arrĂȘtons Ă sa dĂ©finition dans le cadre de la loi littorale c'est simple, Ă priori mĂ©thode du tampon. Mais vos travaux peuvent nous amener Ă avoir une approche un peu diffĂ©rente.
Mes questions sont simples et sûment aussi à poser sur une autre partie du forum.
Avez-vous eu à traiter dans le cadre de documents réglementaires, PLU et SCOT entre autres, ce genre de problématique et si oui quelle méthode avez-vous mis en oeuvre? Quel argumentaire technique a accompagné sa mise en oeuvre?
Merci par avance de vos réponses
A suivre donc, mĂȘme si le manque de temps ne me permettra probablement d'analyser les mĂ©thodes. J'espĂšre que ma collĂšgue en charge du PLUI pourra le faire un peu.
Hors ligne
#24 Thu 30 March 2017 11:17
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Taches urbaines une autre approche
Bonjour,
Comme indiqué plus haut il s'agit avant tout d'illustrer l'utilisation de fonctions postgis 2.2.
Nous avons mis cet exemple Ă disposition, mais bien entendu il s'agit d'une approche "brute". Nous n'allons pas publier tous nos "petits secrets" ![]()
C'est effectivement l'algo de st_concavhull qu'il faut examiner. Et je prĂ©cise encore que ce n'est qu'une premiĂšre approche qui doit ĂȘtre "raffinĂ©e" (au sens chimique du terme) et couplĂ©e Ă d'autres.
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne
#25 Thu 23 March 2023 17:36
- Jkerebel04
- Participant occasionnel
- Lieu: Oraison
- Date d'inscription: 21 Apr 2020
- Messages: 27
Re: Taches urbaines une autre approche
Bonjour
J'ai lu avec intĂ©rĂȘt les discutions sur le sujet car je cherche Ă faire la mĂȘme chose, mais pour des polylignes.
J'ai tenté d'utiliser le script de ChristopheV, mais j'ai le message suivant :
ERREUR : ERREUR: la fonction st_accum(geometry) n'existe pas
J'ai cherché la fonction St_Accum et je ne l'ai pas trouvé
j'ai la version 3.1 de Postgis,
Pourriez-vous m'indiquer ou est cette fonction et comment la charger et la rendre active SVP ?
Merci par avance de vos réponses
« Patience et longueur de temps font plus que force et ni que rage » - Jean de La Fontaine, Le Lion et le Rat.
Hors ligne
#26 Thu 23 March 2023 17:46
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: Taches urbaines une autre approche
Bonjour,
la fonction st_accum a été supprimée de postgis à partir de la version 3, vous pouvez la remplacer par array_agg.
Hors ligne

