Message posté par : cg (cgillette(a)citadia.com)
----------------------------------------
Bonjour,
Petite question sur ce vieux post, en lien avec l'utilisation de la fonction st_area dans QGIS.
Après pas mal de recherches, l'utilisation de la fonction st_area, y compris avec l'outil transform, me renvoie toujours la même chose que l'utilisation de l'outil area($geometry) et donc, si j'ai bien compris, la surface "géométrique", sans prise en compte du système de projection et de l'ellipsoïde que je souhaiterais utiliser... ce qui me pose un souci de cohérence avec des surfaces calculées "en dur" en utilisant l'outil $area dans la table attributaire.
Un peu de contexte est sans doute nécessaire !
Jusque là, notre équipe calculait des surfaces "en dur" dans la table attributaire via la fonction $area, sur des entités contenues dans des couches projetées en Lambert 93/EPSG 2154, dans des projets paramétrés dans leurs propriétés pour calculer les surfaces en utilisant l'ellipsoïde GRS 80 (EPSG 7019) avec des m² comme unité.
Je cherche à calculer de manière dynamique ces surfaces grâce à une couche virtuelle.
J'ai essayé différentes syntaxes :
select st_area(COUCHE.geometry) as surf_sig from COUCHE
> Cela me retourne la même surface que l'outil area($geometry) en dur, assez logiquement si j'ai bien compris, la fonction renvoyant aux entités géométriques (et géographiques ?)
select st_area(COUCHE.geometry, true) as surf_sig from COUCHE
> Cela ne me retourne rien dans ma couche virtuelle
select st_area(st_transform(COUCHE.geometry, 2154)) as surf_sig_2154 from COUCHE
> Cela ne me retourne rien dans ma couche virtuelle
J'ai sans doute un problème de syntaxe et/ou de référence au système de référence spatiales mais que je n'arrive pas à identifier.
En vous remerciant pour votre aide ... Claire
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339933#p339933
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 : Hippo (jerome.hippolyte(a)yahoo.fr)
----------------------------------------
Bonjour,
J'ai créé une petite appli web basée sur PostGIS/Geoserver/Leaflet.
Je peux dessiner des polylignes depuis mon interface grâce au plugin Leaflet Draw et les envoyer dans PostGIS avec un script Php et Ajax.
Quand ma polyligne est insérée dans PostGIS, un trigger est déclenché qui mets à jour la géométrie dans ma table PostGIS depuis les coordonnées reçues.
Mon problème actuellement est que je souhaiterais que lorsque je dessine une polyligne depuis mon interface, mon trigger convertisse également cette polyligne en courbe.
J'ai regardé du côté de ST_LineToCurve et de ST_ForceCurve mais sans résultat.
Voici le script dans mon trigger en l'état actuel :
update schema.table SET geom = ST_Transform(ST_GeomFromText('MULTILINESTRING((' || coords || '))',4326),2154) WHERE geom isnull;
J'ai essayé dans PostGIS :
SELECT ST_ForceCurve(ST_Transform(ST_GeomFromText('MULTILINESTRING((' || coords || '))',4326),2154)) FROM schema.table
Qui me retourne bien des géométries dans ma table, mais qui m'affiche "unsupported geometries not rendered" dans le visualiseur de géométries.
Lorsque je fais un :
SELECT ST_AsText(ST_ForceCurve(ST_Transform(ST_GeomFromText('MULTILINESTRING((' || coords || '))',4326),2154)))
FROM schema.table
les géométries renvoyées dans ma table sont bien sous la forme "multicurve".
Maintenant si j'ajoute St_ForceCurve dans mon trigger, rien n'est envoyé dans ma table.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339937#p339937
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 : zak_geom34
----------------------------------------
Merci beaucoup !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339690#p339690
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
----------------------------------------
Bonjour,
je rencontre l'erreur suivante lorsque je passe des données dans une vue :
-----------------
Code :
ERROR : Invalid input syntax for integer : "31/0"
-----------------
Je suis certain que le fichier n'est pas en cause ( fichiers de sources différentes et fiables qui génèrent cette erreur et import ok quand le trigger faisant appel à la vue en question est désactivé).
Voici la définition de la vue a priori fautive :
-----------------
Code :
WITH RECURSIVE t(code_depart, code_arrivee, date_eff, nb_boucles) AS (
SELECT sub_dreal_logement.code_commune::character(5) AS code_commune, sub_dreal_logement.code_commune::character(5) AS code_commune, 2006 AS date_eff, 1
FROM bdd_territoires.sub_dreal_logement
UNION
SELECT t.code_depart, r.com_ap, "left"(r.date_eff::text, 4)::integer AS "left", t.nb_boucles + 1
FROM listes_fonctionnelles.ref_mouvements_communes r
JOIN t ON t.code_arrivee = r.com_av
WHERE "left"(r.date_eff::text, 4)::integer > t.date_eff
), tc AS (
SELECT t.code_depart, max(t.nb_boucles) AS nb_boucles
FROM t
GROUP BY t.code_depart
ORDER BY t.code_depart
), table_sortie AS (
SELECT DISTINCT t.code_depart, t.code_arrivee
FROM t
JOIN tc ON t.code_depart = tc.code_depart AND t.nb_boucles = tc.nb_boucles
ORDER BY t.code_arrivee
)
SELECT ts.code_arrivee AS code_commune, t2.lib_commune, t1.nb_permis_construire, t1.nb_permis_amenager, t1.nb_declaration_prealable, t1.nb_permis_demolir, t1.annee_obs, t1.territoire
FROM table_sortie ts
LEFT JOIN bdd_territoires.sub_dreal_logement t1 ON t1.code_commune::bpchar = ts.code_depart
LEFT JOIN listes_fonctionnelles.ref_echelle_geographique t2 ON ts.code_arrivee = t2.code_commune
WHERE t2.code_region = '27'::bpchar;
-----------------
L'objectif de cette vue est de mettre à jour la géographie des données d'une table source (ici sub_dreal_logement (les logements fournis par la dreal)) vers la dernière géographie disponible.
La table de référence pour la dernière géographie disponible est ref_echelle_geographique.
je fais aussi appel a la table ref_mouvements_communes qui retrace l'historique des évolutions communales est issue de l'insee.
Voila je ne comprend comment je génère cette erreur... je vous soumets mon problème en espérant que quelqu'un puisse m'aider :)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339389#p339389
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 table qui m'indique des relevés de température selon une date donnée. Cette dernières est au format "timestamp", et renseigne sur le jour et l'heure précise du relevé.
-----------------
Code :
create temp table matable (
date timestamp,
temperature numeric
);
insert into maTable values
('2021-01-06 11:15:36', 4.2),
('2021-01-06 16:15:36', 10.2),
('2021-01-06 19:15:36', 16.2),
('2021-01-06 11:15:36', -2.6),
('2021-01-06 16:15:36', 5.4),
('2021-01-06 19:15:36', 16.6),
('2021-01-06 11:15:36', -4.8),
('2021-01-06 16:15:36', -5.4),
('2021-01-06 19:15:36', 10.2);
-----------------
Pour chaque jour, je voudrais obtenir la date exacte (jour/heure/minute/seconde) de la survenue de la température la plus basse et la plus haute. Comment pourrais-je m'y prendre ?
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339412#p339412
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 : Marine FAUCHER
----------------------------------------
Bonjour,
Je cherche une fonction sous postgis (ou un outil dans Qgis) pour produire des polygones sur la base de routes isodistantes produites sous grass (v.iso) catégorisées selon le temps de parcours (voir capture d'écran en pj)
Ce que je cherche à obtenir c'est une zone par catégorie d'isolignes (5m, 10mn, 15mn..) pour reconstituer des isochrones piétons.
Merci d'avance pour vos idées!
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339378#p339378
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 : NicolasTau (minitoz40b(a)gmail.com)
----------------------------------------
Bonjour,
Je créé ce sujet en espérant que quelqu'un pourra m'aider à résoudre mon problème.
Pour résumer, je n'arrive pas à rentrer de données géographiques dans ma base de données. J'utilise QGIS 3.3 avec PostgreSQL10/pgAdmin4/PostGIS3.
Je précise que je débute avec les SBDR, SIG,... Je ne les utilise que depuis peu pour mes études.
Je voudrais en fait créer des points de toutes pièces sur une carte. J'ai donc commencé par créer une table où j'ai ajouté toutes les informations de mes différents sites que j'ai tout simplement appelé "Sites". Ensuite, j'ai créé une colonne "Geom" qui va contenir l'information géographique avec la commande suivante :
-----------------
Code :
ALTER TABLE Public."Sites" ADD COLUMN Geom geometry(POINT, 4326);
-----------------
Jusque là, tout va bien ! J'ai ensuite créé deux colonne "long" et "lat" (ce sont des données "real") pour que l'information géographique se cale sur les longitudes et latitudes que j'entre dans la table. Ensuite, quand je veux ajouter des données dans cette colonne "geom", j'utilise donc cette requête :
-----------------
Code :
UPDATE public."Sites" Set geom = st_srid(st_makepoint(Sites.long,Sites.lat),4326);
-----------------
Le logiciel me renvoie l'erreur suivante :
-----------------
Code :
ERREUR : ERREUR: entrée manquante de la clause FROM pour la table « sites »
LINE 1: ...TE public."Sites" Set geom = st_srid(st_makepoint(Sites.long...
^
État SQL : 42P01
Caractère : 55
-----------------
Est-ce que je me suis trompé dans la commande ? ou est-ce qu'il y a une erreur de syntaxe que je n'ai pas remarqué ?
Merci d'avance,
Bonne soirée
Nicolas.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339139#p339139
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 : Tommy_F (t.fernandez(a)solveo-energie.com)
----------------------------------------
Bonjour chers confrères,
J'ai cherché à importer des raster dans ma base de données postgis, j'ai suivi les procédures que l'on retrouve sur le net et l'écriture du raster dans ma BDD se fait correctement.
Commande utilisée : raster2pgsql -C -c -e -I -M -s 2154 -t 1000x1000 C:Usersnom_utilisateurtest.asc | psql -h localhost -U postgres -d postgres
Toutefois, lorsque j'essaie ensuite de l'ouvrir via Qgis, j'ai un message d'erreur qui apparait :
Couche non valide : Raster layer Le fournisseur de données n'est pas valide (prestataire : postgresraster, URI : dbname='postgres' host=localhost port=5432 user='postgres' password='nom_utilisateur' sslmode=disable srid=2154 table="public"."test" (rast) (file: ......srccorerasterqgsrasterlayer.cpp row: 616function QgsRasterLayer::setDataProvider:)
Pour contrer ce problème, j'ai crée une overview du raster dans postgis qui me permet de réussir à afficher mon raster dans Qgis.
Auriez-vous un moyen de ne pas devoir passer par cet intermédiaire pour afficher le raster ?
Par avance, merci pour vos réponses.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339272#p339272
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 : Lison94
----------------------------------------
Bonjour à tous,
Je commence à utiliser pgadmin 4, j'ai déjà une connexion de créée mais je ne peux pas ajouter une nouvelle bdd. En effet, la case create database est grisée (cf fichier joint). Il en ai de même pour la création d'un nouveau login..
Avez vous une explication ?
Merci par avance pour votre aide.
Lison
----------------------------------------
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=339210#p339210
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 : Sylvain M.
----------------------------------------
Bonjour à tous,
Je dispose, dans un BDD Spatialite, de 2 tables, dont l'une avec un champ geom (MULTIPOLYGON).
Si je créé une nouvelle table, issue de la jointure des 2 (CREATE TABLE AS SELECT * FROM A JOIN B on A.id = B.id), le champ geom de la table créée n'est plus reconnu comme geometry, mais comme NUM, avec du contenu hexadecimal (je crois que c'est le format BLOB de SQLite).
Pourriez-vous m'indiquer la meilleure solution pour qu'une table issue de sélection soit reconnue comme table spatiale ?
PS. : je fais mes requête depuis le gestionnaire de BD de QGis
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339167#p339167
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