Message posté par : Julien Gondellon
----------------------------------------
Bonsoir,
Je voudrais savoir si avec cet outil nous pouvons creer des points à une distance donnée depuis l'extrémité d'une polyligne.
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321124#p321124
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,
tout d'abord,
le message d'erreur semble indiquer que la colonne géométrique
de votre table lignes_zone_test est de type multi linestring.
A ce moment là, il faudrait les extraire avec st_dump.
Ensuite, le résultat que vous obtenez vient du fait que
votre requête exécute pour st_split pour chaque combinaison
des géométries de vos deux tables.
Cette fonction, utilisée avec une géométrie et une ligne de découpe
qui sont géométriquement disjointes, aura pour résultat la géométrie originale.
Pour supprimer ces résultats inutiles, il faudrait rajouter une condition de jointure
entre vos deux tables pour ne retenir que les éléments qui s'intersectent :
-----------------
Code :
SELECT ST_CollectionExtract(ST_Split(rect.geom, line.the_geom),3)
FROM public.polygones_zone_test as rect
JOIN public.lignes_zone_test as line
ON st_intersects(rect.geom, line.the_geom)
-----------------
Si vous ne l'avez pas déjà fait, vous devriez ajouter un index géométrique
sur l'une de vos deux tables, (typiquement celles qui contient le plus
grand nombre de ligne).
Mais je ne suis pas sur que cela soit le résultat que vous attendiez,
supposez un polygone traversé par plusieurs lignes,
chaque découpage se déroulera indépendamment avec toujours le polygone orignal en entier.
Pour découper avec une multi ligne, il vous faudrait passer à postgis 2.5
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321041#p321041
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,
-----------------
Citation :
- cela me crée autant de lignes qu'il y a de event_id
-----------------
oui, c'est logique, on groupe par event_id, je pensais que c'était la chose désirée.
Si vous voulez grouper par autre chose, par exemple trip_id peut-être,
il vous faut modifier la clause GROUP BY.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321037#p321037
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
----------------------------------------
A priori ce programme ne fonctionne pas :
- cela me crée autant de lignes qu'il y a de event_id
- les lignes sont toutes identiques et relient tous les points de la table
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=320988#p320988
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 : zack
----------------------------------------
Bonjour,
Dans une chaîne de traitement QGIS j'essaye de découper des polygones par des lignes.
Ces lignes sont issus de st_shortestline sur postgis. J'ai étendue chaque ligne de 1m pour éviter des problèmes de précision.
L'outil "couper avec des lignes" de QGIS fonctionne sur une petite zone de test, mais pas sur une commune entière, beaucoup trop de lignes et de polygones (quelques milliers pour chaque).
Du coup j'essaye de voir pour intégrer la fonction st_split. Elle semble marcher en une demi-heure pour la commune entière. Mais le résultat n'est pas du tout bon, j'ai des dizaines de milliers de lignes dans la table, et pourtant en les chargeant dans QGIS mes polygones semblent non découpés.
Je pense que ça vient du fait que st_split crée une geometry_collection et que le ST_CollectionExtract ne marche justement pas dans le cas d'un st_split.
Du coup est-ce que quelqu'un sait quelle fonction écrire ? Je ne suis pas hyper à l'aise avec PostGIS
La fonction suivante ne marche pas donc, il me donne une erreur à cause du multilinestring qui n'est pas supporté...
-----------------
Code :
DROP TABLE if exists blabla;
CREATE TABLE blabla AS
SELECT ST_CollectionExtract(ST_Split(rect.geom, line.the_geom),3)
FROM public.polygones_zone_test as rect, public.lignes_zone_test as line
-----------------
Merci à vous !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=320987#p320987
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 : Nicolas Ribot
----------------------------------------
Bonjour,
Vous pouvez passer par du code pour faire ca, en fabriquant la requete SQL a partir des valeurs des tables (si je comprends bien).
Exemple fait avec un block anonyme. Si vous devez retourner des valeurs, il faut le faire avec une fonction:
-----------------
Code :
do language plpgsql $$
DECLARE
v_query text;
v_select_data text;
v_newquery text;
BEGIN
select query, select_data from tablea into v_query, v_select_data;
v_newquery = format('create table res as with tmp as (%s) select %s as val from tmp', v_query, v_select_data);
execute v_newquery;
end;
$$;
-----------------
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=320951#p320951
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 : tevrard
----------------------------------------
La question que tu soulèves me fait penser au point "FOR EACH ROW / FOR EACH STATEMENT" dont on avait discuté ici :
https://georezo.net/forum/viewtopic.php?id=112809
----------------------------------------
Le message est situ� https://georezo.net/forum/viewtopic.php?pid=320733#p320733
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
----------------------------------------
Message précédent posté par Pierre le 03/05/19 10:27
Aloha
Nous avons un ensemble de tables qui ont deux colonnes contenant sensiblement la même information : une colonne rotation et une colonne orientation. L'une est destinée à être utilisée dans Qgis, l'autre dans un autre outil.
Nous rencontrons un problème : si il est simple de créer un trigger mettant à jour la colonne orientation depuis la valeur rotation, nous ne savons pas comment créer un trigger qui mettrait à jour la valeur orientation si la valeur rotation change et la valeur rotation si la valeur orientation change, sans que cela ne crée une boucle "infinie".
Nous pensions passer l'information du nom de l'application pour gérer les différents cas dans le trigger :
Quelque chose comme
-----------------
Code :
create or replace function api_sig.maj_orient()
returns trigger
language plpgsql
as $function$
declare
v_app varchar(255)
begin
if "application_name" = 'QGIS'
then .... new.orientation:= 360-new.rotation ;
else .... new.rotation := 360+new.orientation ;
end if ;
return new;
end,
$function$;
-----------------
Avez-vous déjà passé ce type de paramètre à une fonction/trigger ? Est-ce une méthode efficace ? Vaut-il mieux envisager le problème autrement ?
D'avance, merci
----------------------------------------
--
Association GeoRezo - le portail g�omatique
http://georezo.net
Message post� par : Brindavoine
----------------------------------------
Aloha,
Une réponse complémentaire : peut-être votre besoin serait-il satisfait en utilisant dBeaver (https://dbeaver.io/) .
Cordialement
----------------------------------------
Le message est situ� https://georezo.net/forum/viewtopic.php?pid=320713#p320713
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
----------------------------------------
Message précédent posté par Theos2000 le 08/04/19 16:44
Ah super merci je vais tenter ca dans la semaine :-)
----------------------------------------
Message précédent posté par tumasgiu le 08/04/19 11:33
Salut,
une installation BigSQL possède un outil en ligne de commande nommé pgc.
Il permet entre autre de mettre à jour les différents éléments de l’installation,
dont pgAdmin III.
Pour mettre à jour :
Lancer une invite de commande en mode Administrateur.
Dans l'invite taper les 3 commandes suivantes:
-----------------
Code :
cd C:\Postgresql
-----------------
-----------------
Code :
pgc.bat update
-----------------
-----------------
Code :
pgc.bat upgrade pgAdmin3
-----------------
----------------------------------------
Message précédent posté par Theos2000 le 06/04/19 23:08
Merci pour ta réponse nicolas. Cependant mon pgadmin3 de Bigsql ne marche pas avec postgreSQL11 , connaitrais tu un lien pour télécharger juste le pgadmin3 de bisgsql sans pour autant faire une installation de la base ou possibilité de me faire parvenir le fichier.
Merci
----------------------------------------
--
Association GeoRezo - le portail g�omatique
http://georezo.net