Message posté par : Bruno IRATCHET (bruno(a)georezo.net)
----------------------------------------
Sujet déplacé dans le bon forum.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336644#p336644
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 : preliator
----------------------------------------
Bonjour,
Je dispose d'une bdd Postgis (nommée "STAGE") dans laquelle j'ai importé la base de données Sirene v3. (https://public.opendatasoft.com/explore/dataset/sirene_v3/information/?sort…) de 33 millions d'entrées. Etant au format CSV, je me suis servie des colonnes de Lat et Long pour créer une colonne "geom" de type geometry pour chaque ligne.
Je souhaite manipuler cette bdd sur QGis, uniquement sur une commune. Après avoir crée une table "sirene_marseille" sur Postgre, filtrée sur la ville, je rencontre une très grande lenteur de QGis pour se connecter à ma BDD. Voici ce que j'obtiens durant 5 bonnes minutes :
https://zupimages.net/viewer.php?id=20/42/ofd5.png
Je rencontre ce problème, directement après avoir crée la géométrie de ma base Sirene.
Existe t-il une alternative pour stocker une grosse bdd geometrique dans Postgis, tout en étant traitable sur QGis ?
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336245#p336245
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 : Brindavoine
----------------------------------------
Aloha
Je souhaite calculer une propagation depuis des sources en utilisant mon graphe. In extenso, où se situent les limites d'un isochrone pour chacune des sources. Les sources ne sont pas sur le graphe, mais en dehors.
Je crée mon graphe sans problème.
Je crée une table contenant les données de rattachement de mes sources au graphe
-----------------
Code :
create table exo.psource as
(with poi as (
select p.gid as gid_pt,
p."q (m3/h)" as debit,
p.volume as volume,
p.geom
from exo.epi p
)
SELECT
poi.gid_pt::int4,
poi.volume::int8,
poi.debit::int4,
closest_tr.gid::int4,
closest_tr.dist::double precision,
st_linelocatepoint(closest_tr.geom, poi.geom)::double precision as fraction
FROM poi
LEFT JOIN LATERAL
(SELECT
t.gid,
ST_Distance(t.geom, poi.geom) as dist,
t.geom
FROM exo.troncon t
ORDER BY poi.geom <-> t.geom
LIMIT 1
) AS closest_tr
ON TRUE
)
-----------------
Après j'exécute la requête suivante pour récupérer les sommets situés à moins de 200m de mes sources :
(Je me suis inspiré de ces articles :
présentation foss4g (https://osgeo-fr.github.io/presentations_foss4gfr/2016/J1/20160511_FOSS4G_F…)
une question sur gis stackeexchange (https://gis.stackexchange.com/questions/136403/postgis-nearest-points-with-…)
un post de bostongis (https://www.bostongis.com/blog/index.php?/categories/7-nearest-neighbor)
article sur geoafrica (https://geoafrica.fr/laccessibilite-multimodale-en-isochrones/)
)
-----------------
Code :
select
pgr.*,
t vp.the_geom
from
pgr_withPointsDD(
'select gid AS id, nsource::int4 AS source, ncible::int4 AS target, st_length(geom)::float8 AS cost, st_length(geom)::float8 as reverse_cost
from exo.troncon'::text, 'select gid_pt as pid, gid as edge_id, fraction from exo.source'::text,
(
select
array_agg(exo.source.gid_pt order by gid_pt asc) from exo.source
) , -- un array de tous les id de mes sources
200
,
details := true
) pgr
left join exo.troncon_vertices_pgr tvp on tvp.id = pgr.node
-----------------
Le résultat semble correct lorsque je l'affiche dans mon sig (préféré) (cf capture).
Sauf que pour quelques sources, je vois bien que le tronçon le plus proche n'a pas été parcouru dans les deux sens et que des sommets qui devraient ressortir en résultat n'y sont pas.
Qu'ai-je loupé ?
Aucun sommet n'étant situé pile à la distance demandée, comment ajouter les parties de tronçons supplémentaires pour arriver à la distance exacte ?
Mes sources sont elles même à une certaine distance des tronçons, comment exploiter l'information dist de la table pour réduire d'autant la distance parcourue sur les tronçons ?
Je suis sûr que la solution à ce problème pourrait bénéficier à plein de personnes qui ont à résoudre ce type de problème.
D'avance, merci pour vos conseils
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336756#p336756
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 : BadWolf
----------------------------------------
Je vous remercie je ne savais pas que c'était sur ce forum.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336647#p336647
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 : Fabien Guerreiro
----------------------------------------
Bonjour,
Vous trouverez sur Sigea - https://sigea.educagri.fr/tutos-sig/tutos-postgis :
une formation à PostGIS (Pgsql 12 / PostGIS 3 / pgAdmin 4) en initiation et perfectionnement avec trois niveaux d’apprentissage :
- consommateurs de données
- producteurs de données
- administrateurs de bases de données
Sont disponibles :
- les supports Web,
- les supports de présentation en PDF,
- les données d'exercice,
- les corrections (sur simple demande)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336597#p336597
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 : Jkerebel04
----------------------------------------
Bonjour
Je souhaite faire pus ou moins la même chose. Néanmoins une erreur subsiste.
Le message d'erreur retourné est :
ERREUR : ERREUR: référence invalide d'une entrée de la clause FROM pour la table « ab »
LINE 29: ... tab_par AS b ON st_intersects(ST_PointOnSurface(ab.geom),b...
^
HINT: Il existe une entrée pour la table « ab » mais elle ne peut pas être
référencée de cette partie de la requête.
Pourriez-vous m'indiquer où je fait fausse route ?
Ci-dessous les ligne de ma fonction
CREATE TABLE tab_union AS
SELECT
-- Crée un indentifiant unique pour la nouvelle géométrie créer par l'union de géomètrie
DISTINCT ROW_NUMBER() OVER() AS id_geom,
singlegeom,
-- avec comme reference d'union l'id de la parcelle
b.id AS id_parc,
-- type 1 sont les batiment massif et type 2 batiments légés
MIN(type) AS tab_bat_type,-- La surface de la parcelle ainsi créer, avec la tranformation du SCR (dégré à m)
st_area(ST_Transform((st_dump(st_union(ab.geom))).geom,2154)) as surf_bat
FROM
tab_bat AS ab,
(SELECT
-- Créé la géomètrie unique à partie des différents polygone
(st_dump(st_union(c.geom))).geom AS singlegeom
FROM tab_bat AS c
) AS t
LEFT JOIN tab_par AS b ON st_intersects(ST_PointOnSurface(ab.geom),b.geom)
GROUP BY b.id;
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336481#p336481
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 : Julien81
----------------------------------------
Je plusoie,
j'ai le même problème après avoir tout importé (millésime 2020) grâce aux riches ressources du réseau et ign, je me rend compte que les fichiers sql originaux sont typé de façon générique en type geometry pour chaque.
D'ailleurs Sylvain si vous avez trouvé une solution pour effectuer le typage pour chaque table autrement qu'une à une je suis vraiment intéressé!
Cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336458#p336458
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 : ibou5va(a)hotmail.fr (ibou5va(a)hotmail.fr)
----------------------------------------
Bonjour,
Je dois remplir un champ "mtd_geographical_area" de ma table "t_well" par le champ "iso2_code" de ma table "country_standard_eureka_shape".
La table "t_well" est une couche de points qui est intersectée par la table "country_standard_eureka_shape" qui est elle une couche de polygone.
J'effectue donc une jointure spatiale pour alimenter le champ "mtd_geographical_area" dans la table "t_well".
Pour infos, les 2 tables sont dans le même schéma "catalogdb".
La requête ci-dessous fonctionne bien :
UPDATE catalogdb.t_well SET mtd_geographical_area = catalogdb.country_standard_eureka_shape.iso2_code FROM catalogdb.country_standard_eureka_shape WHERE ST_Intersects(catalogdb.t_well.point, catalogdb.country_standard_eureka_shape.geom);
Maintenant je souhaiterai que ce champ s'alimente automatiquement dès qu'un nouveau objet point est créé dans la table "t_well".
Je pense donc utiliser le trigger et une fonction pour l'exécuter. Voici le script utilisé:
CREATE OR REPLACE FUNCTION catalogdb.maj_well()
RETURNS trigger AS
$BODY$BEGIN
UPDATE catalogdb.t_well SET mtd_geographical_area = catalogdb.country_standard_eureka_shape.iso2_code FROM catalogdb.country_standard_eureka_shape WHERE ST_Intersects(catalogdb.t_well.point, catalogdb.country_standard_eureka_shape.geom);
return new;
END;
$BODY$ LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION catalogdb.maj_well()
OWNER TO postgres;
CREATE TRIGGER trigger_maj_well
BEFORE UPDATE
ON catalogdb.t_well
FOR EACH ROW
EXECUTE PROCEDURE catalogdb.maj_well();
Ma fonction est bien compilée et mon déclencheur bien créé.
Le problème est que lorsqu'un nouveau point est rajouté dans la table "t_well', toutes les valeurs du champ "mtd_geographical_area" passent à "Null" et les valeurs du champs "iso2_code" de la table "catalogdb.country_standard_eureka_shape" ne sont pas récupérées.
Quelqu'un aurait-il une idée?
Merci d'avance pour votre aide
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336131#p336131
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 : Jkerebel04
----------------------------------------
Bonjour
Je reviens vers vous pour une question complémentaire concernant ce sujet. Je souhaiterai ajouter une ou plusieurs conditions indexées sur des colonnes de la table "data". Est-il possible d'ajouter une commande GROUP BY. l'essai ci-dessous le fonctionne pas.
Pourriez-vous m'indiquer des pistes SVP ?
CREATE TABLE test_union AS SELECT geom
FROM
(SELECT (St_dump
(St_Union
( ARRAY( SELECT geom FROM data )
)
)
).geom AS geom
GROUP BY data.num
) AS t ;
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336061#p336061
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 : Theos2000
----------------------------------------
Bonjour dans le cadre d'un calcul de tache urbaine , je lance une requete pour avoir les résultats. Avant cela fonctionnait assez bien mais depuis la mise a jour des données cadastrales, j'aboutis a un résultat bizarre dans la colonne Données "Query Plan json [ " . Je met en pj une copie d'écran pour vous faire une idée plus précise.
Merci
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=336199#p336199
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