Message posté par : Nicolas Ribot
----------------------------------------
Bonjour,
Vous auriez un exemple avec des données ?
Je ne suis pas sur de comprendre le problème.
Avec les fonctions de référencement linéaire, vous pouvez découper une linestring tous les x mètres sans trop de problèmes.
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=333858#p333858
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 : Solène.Cottet (so.cottet(a)live.fr)
----------------------------------------
Bonjour,
J'essaie de créer mon premier trigger sur l'interface PGAdmin.
Ma BDD possède 2 couches de polygones, observation et site. Les observations sont incluses dans des sites.
Je cherche à réaliser un trigger qui, lorsqu'une observation est ajoutée, ajoute automatiquement le nom du site dans laquelle elle se trouve, à une colonne déjà existante (nom_site, jointe précédemment).
Je tâtonne un peu car je n'ai jamais réalisé ce genre de fonction.
Voici le code que j'ai écris :
-----------------
Code :
CREATE TRIGGER update_observation BEFORE INSERT OR UPDATE ON observation
FOR EACH ROW EXECUTE PROCEDURE update_nom_site_observation()
CREATE OR REPLACE FUNCTION update_nom_site_observation()
RETURNS TRIGGER AS
BEGIN
SELECT nom_site FROM site ;
ON ST_Overlaps(observation.geom, site.geom) ;
UPDATE observation(nom_site);
END;
-----------------
Je n'arrive pas à déceler où se trouve mon erreur, qui doit être une erreur de syntaxe.
L'execution me renvoit l'erreur suivante :
ERROR: ERREUR: erreur de syntaxe sur ou près de « CREATE »
LINE 4: CREATE OR REPLACE FUNCTION update_observation()
Merci d'avance pour votre aide
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=334974#p334974
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 : TheoSB (theo.murcia.pro(a)gmail.com)
----------------------------------------
Bonjour,
Je suis dans la même situation que vous, avez-vous trouvé une solution ?
Merci d'avance. Théo
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=338055#p338055
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,
J'ai souhaité me replonger dans un travail effectué sur Pg_routing il y a 2 ans. Or aprés plusieurs sauvegardes et restaurations de cette base lorsque je lance mes requetes avec PG_routing ca me dit : "la fonction pgr_drivingdistance(unknown, integer, numeric, boolean, boolean) n'existe pas....."
Est ce que quelqu'un a déja vu ca ? j'ai vérifié que le shéma topology et que les couches n'avaient pas été modifié et que les couches mobilisés pour le calcul d'isochrone existaient bien, ce qui est le cas...
Du coup je comprend pas trop pourquoi un tel message....
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=334908#p334908
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,
Disposant d'une couche multilinestring représentant les routes d'un département, je souhaiterais couper cette couche en lignes de 500m.
Voici un aperçu de ma couche de routes : https://zupimages.net/viewer.php?id=20/16/eh9e.png
Après quelques recherche sur internet, je suis parti sur cette démarche :
- Regrouper ma couche de route en un seul bloc (j'ai trouvé cela cohérent car la couche de base est constitués de plusieurs lignes de tailles variables)
- Transformer ce bloc en linestring pour la requête suivante
- Créer des points tous les 500m le long de ma linestring avec st_lineinterpolatepoints (pas possible de créer les points sur ma couche regroupée, car cette fonction n'accepte que du linestring)
- Couper la couche regroupée sur cette couche de points.
-----------------
Code :
-- REGROUPER MA COUCHE DE ROUTE EN UN SEUL BLOC MULTILINESTRING
drop table if exists ligne_regroup;
create table ligne_regroup as
select St_linemerge(ST_Union(geom)) as geom
from public.route_echantillon;
-- TRANSFORMER LE BLOC EN LINESTRING
drop table if exists ligne_regroup_linestring;
CREATE TABLE ligne_regroup_linestring AS
SELECT (ST_Dump(ligne_regroup.geom)).geom::Geometry(LineString,2154) AS geom
FROM ligne_regroup;
-- CREER UN IDENTIFIANT UNIQUE SUR LA LINESTRING
alter table ligne_regroup_linestring add column id serial;
-- CREER LES POINT TOUS LES 500 METRES
drop table if exists point_500;
create table point_500 as
with tmp as(
select *
from ligne_regroup_linestring
where st_length(ligne_regroup_linestring.geom) > 500)
SELECT id, st_lineinterpolatepoints((tmp.geom),500/st_length(tmp.geom)) as geom
from tmp;
-- ON COUPE LA ROUTE REGROUPEE SUR LES POINTS
drop table if exists route_cut_500_metres;
create table route_cut_500_metres as
select ST_SNAP((ST_DUMP(st_difference(ligne_regroup.geom,point))).geom,all_point,0.1) as geom
from
(select ST_Multi(ST_Union(st_expand(point_500.geom, 0.05))) as point from point_500 ) as t1,
ligne_regroup,(select ST_MULTI(ST_COLLECT(point_500.geom))as all_point from point_500) as t2;
-----------------
Malheureusement, j'obtiens des résultats aberrants. Les lignes semblent bien se découper, mais il manque de nombreuses lignes.
Comme on peut voir sur l'exemple suivant : https://zupimages.net/viewer.php?id=20/16/oaem.png
En vert : ma couche de route regroupée (ligne_regroup)
En rouge : le résultat de "route_cut_500_metres"
Les points : Résultat de la requête qui me crée des points tous les 500 mètres.
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=332169#p332169
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 : Alicemartin
----------------------------------------
Bonjour,
J'ai PostgreSQL 9.5 installé en local sur un ordinateur sous Windows 10. J'y ai installé l'extension ogr_fdw afin de pouvoir importer dans ma base des couches issues de flux WFS en suivant ce tutoriel --> https://mybl0gn0tes.wordpress.com/2017/06/13/utiliser-des-flux-wfs-dans-pos…).
Mon soucis est que, quand je crée un serveur distant avec des URL en https (ex : https://wxs-gpu.mongeoportail.ign.fr/externe/39wtxmgtn23okfbbs1al2lz3/wfs), j'ai un message d'erreur indiquant "SSL certificate problem: unable to get local issuer".
J'ai passé la journée à essayer de régler le problème mais sans succès. Quelqu'un saurait-il quoi faire ?
Je vous remercie d'avance pour votre aide et vous souhaite une belle soirée.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=333657#p333657
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 : Tomapinfo (numerobisco04(a)hotmail.fr)
----------------------------------------
Bonjour,
J'essaye de reproduire un trigger qui fonctionne bien dans PostgreSQL/Postgis dans Oracle.
Le trigger remonte des informations lors de la saisie ou de la modification.
-----------------
Code :
CREATE OR REPLACE FUNCTION x.champs_auto()
RETURNS trigger AS
$BODY$BEGIN
NEW.num_insee = x.communes.num_insee FROM x.communes WHERE st_intersects(NEW.geom, x.communes.geom);
RETURN NEW;
END$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
-----------------
Mais dans Oracle, l'ecriture n'est pas identique et au mieux j'ai réussi à faire ça.
-----------------
Code :
CREATE OR REPLACE TRIGGER "DBO"."Cps_auto_I" BEFORE INSERT --
ON Y --
FOR EACH ROW --
declare INSEE VARCHAR2(20) DEFAULT '';
Begin --
Select b.NUM_INSEE into INSEE from ua b WHERE SDO_RELATE(:NEW.GEOMETRIE,b.GEOMETRIE,'mask=INSIDE') = 'TRUE' and b.SOUS_TYPE = 'COMMUNES';
:NEW.NUM_INSEE := INSEE ;
;
End;
-----------------
Mais j'obtiens cette erreur alors que j'ai bien un index sur les 2 tables.
-----------------
Citation :
Erreur SQL : ORA-13226: interface non prise en charge sans index spatial
-----------------
Je penses donc que l'objet n'est pas encore enregistré et donc pas dans l'Index.
Car le select seul fonctionne bien.
Au vue de ce message je me demande s'il y est vraiment possible de faire se genre de requête dans un trigger ?
Si cela est possible avez-vous une idée pour le corriger ?
Merci par avance.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=335958#p335958
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 : Pegasus555 (archiinfo2011(a)gmail.com)
----------------------------------------
Bonjour,
Je travaille actuellement sur la plateforme open source GAMA. J'utilise une BD créée sur PostgreSQL et le code contient des requêtes géographiques utilisant PostGIS intégrés dans un algorithme génétique (plus précisement pour évaluer les individus)
J'ai exécuté le même code (avec les mêmes paramètres) sur deux machines :
Machine 1 : un I5 2eme génération 2.7 GHz (2 coeurs) / 4 Go de RAM / disque dur HDD/ windows 7 32 bits
Machine 2 : I7 7eme 2.9 GHz (avec turbo Boost 3.5GHz) / 24 Go de RAM / SSD / Win 10 64 bits
Je n'arrive pas a expliquer une chose : bien que la 2eme machine est plus puissante, le temps d'exécution est le même sur les deux machines et parfois la 2eme machine est plus lente.
J'ai bien modifié les paramètres de PostgreSQL (https://public.dalibo.com/exports/formation/manuels/formations/perf1/perf1.…) selon ma machine mais rien n'y change.
Du coté de la plateforme, idem, j'ai modifié les paramètres qu'il fallait.
Avez vous une idée d'où vient le problème ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=338524#p338524
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,
Ca dépend du format: si ce sont des dumps SQL, oui on doit pouvoir tout mettre dans un seul fichier, mais pourquoi ?
en ligne de commande, la restauration de 4 fichiers SQL est rapide:
-----------------
Code :
psql -d database -U user -f fichier.sql
-----------------
(si les fichiers sont au format PG Dump, il faut utiliser l'outil pg_restore)
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=338433#p338433
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 : Seydi Aliou Tall
----------------------------------------
Bonjour
Je suis nouveau sur postgres
Je dispose de quatre fichiers de sauvegardes
Je voulais faire une restauration sur pgadmin 3
Je demandais à savoir s'il est possible d'en faire un seul fichier et le restaurer?
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=338412#p338412
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