Message posté par : Renaud Mouche (renaud(a)georezo.net)
----------------------------------------
Merci Christophe
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322066#p322066
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Christophe Vergon
----------------------------------------
Bonjour,
Une variante qui permet de compter le nombre de bâtiments (2 bâtiments adjacent comptés comme 1) dans une grappe.
1) Fusion des bâtiments adjacents
2) Buffer 10 + BBox orientée
3) Fusion des éléments précédents adjacents
4) buffer 10
5) Fusion des éléments adjacent du 4
Résultat : nombre d'éléments du 4, nombre d'éléments du 2
-----------------
Code :
WITH
p as (SELECT st_collectionextract(unnest(st_clusterintersecting(st_accum(the_geom))),3) as geom FROM cadastre.batiment ),
t as (SELECT row_number() OVER() as id, geom FROM p),
t1 as (SELECT id,((st_dump(geom)).geom) as geom FROM t),
t2 as (SELECT id,count(id),st_orientedenvelope(st_buffer(st_union(st_makevalid(geom)),10)) as geom FROM t1 GROUP BY id),
t3 as (SELECT st_collectionextract(unnest(st_clusterintersecting(st_accum(geom))),3) as geom FROM t2),
t4 as (SELECT row_number() over() as id, geom FROM t3),
t5 as (SELECT id,((st_dump(geom)).geom) as geom FROM t4),
t6 as (SELECT id,count(id) as nbbat,st_union(geom) as geom FROM t5 GROUP BY id),
t7 as (SELECT st_collectionextract(unnest(st_clusterintersecting(st_accum(st_buffer(geom,10)))),3) as geom FROM t6),
t8 as (SELECT row_number() over() as id2,geom FROM t7),
t9 as (SELECT id2,(st_dump(geom)).geom as geom FROM t8),
tt as (SELECT id2,t9.geom,nbbat FROM t6,t9 WHERE st_within(t6.geom,t9.geom)),
t10 as (SELECT id2,count(id2) as nbgrappe,sum(nbbat) as nbbat, st_union(geom) as geom FROM tt GROUP BY id2)
SELECT *
into buff_bati_10
FROM t10
-----------------
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322050#p322050
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
Peut être pourriez vous poster la requête que vous éxecuter ?
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322034#p322034
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Christophe Vergon
----------------------------------------
Bonjour,
Je vais détailler sur ce fil, comment à partir du couple PG10 et Postgis 2.5 et de la couche bâtiment du cadastre disponible sur data.gouv.fr et intégrée avec notre outil (cf. forum données), créer une tâche urbaine un peu plus jolie et paramétrable que la méthode dite des tampons. Ça doit marcher aussi avec la couche bâtiment fournie par data.gouv.fr (non testé je vous laisse adapter).
Première requête :
-----------------
Code :
WITH p as (SELECT batiment.*,ST_OrientedEnvelope(st_buffer(the_geom,10)) as obox_geom FROM cadastre.batiment),
p1 as (SELECT st_buffer((st_dump(st_union(st_clusterintersecting(st_accum(obox_geom))))).geom,10) as geom FROM p ),
p2 as (SELECT (st_dump(st_union(st_clusterintersecting(st_accum(geom))))).geom as resgeom FROM p1 )
SELECT row_number() over() , resgeom
INTO testgeom3
FROM p2
-----------------
Détails :
-----------------
Code :
st_buffer(the_geom,10)
-----------------
Classique un buffer de 10 mètres autour de la géométrie du bâtiment.
-----------------
Code :
ST_OrientedEnvelope()
-----------------
Nouvelle fonction postgis 2.5 qui fournit la BBox orientée de la géométrie
-----------------
Code :
(st_dump(st_union(st_clusterintersecting(st_accum(obox_geom))))).geom
-----------------
Création de multipolygons constitués des BBox orientées des bâtiments qui se touchent (st_clusterintersecting()) puis fragmentation en polygons élémentaires (st_dump()).geom
Application d'un buffer de 10 mètres sur les polygones résultants
Répétition du process sur les géométries résultantes.
Exercice : Utilises la fonction recherche du forum et trouve comment compter le nombre de bâtiments originaux qui sont compris dans un polygones final, but du jeu éliminer les bâtis isolés.
Requête numéro 2 qui permet d'éliminer les trous d'une certaine surface.
-----------------
Code :
WITH p as (SELECT row_number as a,unnest((st_dumprings((st_dump (resgeom)).geom)).path) as b,((st_dumprings((st_dump (resgeom)).geom)).geom) as c
FROM testgeom3 ), -- On transforme les multipolygones à trous en n polygones sans trous si path = 0 exterior ring si >0 trous
p1 as (SELECT a,b,st_exteriorring(c) as e,st_area(c) as d FROM p order by a,b), -- on transforme les polygones ext en polyline
p2 as (SELECT a, st_accum(e) as sg FROM p1 WHERE b<>0 AND d >=1000 GROUP BY a), les trous de plus de 1000 m²
p3 as (SELECT a, e FROM p1 WHERE b=0) les enveloppes ext (shells)
SELECT p2.a,CASE WHEN not sg is null THEN st_makepolygon(e,sg) ELSE st_makepolygon(e) END
into testpoly1 FROM p3 LEFT JOIN p2 ON p2.a=p3.a ORDER BY a -- On reconstitue les polygones soit avec les trous qui restent soit sans.
-----------------
Voilà
A+
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321968#p321968
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Ericge
----------------------------------------
Bonjour,
J'ai bien testé la 3ième version et bien spécifié l'event_id de f.
Si je décompose, la requête f me crée bien une table avec pour chaque event_id, une colonne bounds contenant entre crochet, les valeurs min et max de trac_id.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321960#p321960
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Romary Munier
----------------------------------------
Bonjour,
Dans une autre discussion dont le Sujet était : "Impossible d'avoir l'autocomplétion avec pgAdmin 4"
-----------------
SANTANNA écrit :
-----------------
Citation :
Dommage d'ailleurs qu'ils aient abandonné le "ctrl k + Ctr C" qui marche par exemple sur visual studio et d'autres environnements .
-----------------
Oui j'ai bêtement tenté de multiples Ctrl K sans succès avant de réaliser que ce n'était plus ça. Et même malgré ça, c'est ce qui revient par habitude... (et ça a encore moins de chances de fonctionner)
-----------------
Je n'arrive pas à utiliser les raccourcis clavier indiqués (ctrl+/ ou ctrl+.) respectivement pour commenter ou décommenter une ligne sql dans l'éditeur de requête. Est-ce que ça fonctionne chez vous et comment?
Je travaille dans une environnement Windows server 2012 R2 avec firefox Quantum 67.0 32bits et pgAdmin 4.7
Merci de vos retours.
Romary
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321934#p321934
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : pasqal
----------------------------------------
merci pour la réponse, mais ce n'est pas vraiment ce que je veux car je ne vois pas comment sortir avec ogrinfo les valeurs uniques de chaque champs de chaque tables.
A voir si je peux scripter avec du "sql" ou autres.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321878#p321878
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : nima ninette
----------------------------------------
Bonjour,
la table que j'ai créée normalement elle stocke les paramètre de mon application par exemple les chemins de input basket et de output basket
donc j'ai créé une table avec deux paramètres au niveau d'un fichier db.sql.
et pour get_param et set_param c'est deux fonctions python qui vont pour:
get_param (NOM_DU_PARAMETRE (ex "INPUT_BASKET_PATH")) je dois lire le paramètre.
set_param (NOM_DU_PARAMETRE, VALEUR_DU_PARAMETRE) soit faire un INSERT OU un UPDATE si le paramètre existe déjà dans la table.
donc ma question est comment structurer ces deux fonctions?! et je les créé dans un fichier python?!
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321842#p321842
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
Salut,
votre demande est un difficile à comprendre.
Quel langage utilisez vous pour vous connecter à votre base Postgres ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321830#p321830
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
Salut,
l'utiliaire en ligne de commande ogrinfo donne ce genre d'information, il me semble.
https://gdal.org/programs/ogrinfo.html
Vous pouvez l'installer avec OSGEO4W ou QGIS si vous êtes sous Windows
https://trac.osgeo.org/osgeo4w/
Pour une distrib *NIX, utilisez votre gestionnaire de paquet préféré :)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321829#p321829
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net