Dernières discussions Sig forum

Syndiquer le contenu Forum SIG - Systèmes d'Information Géographique et Géomatique
Bienvenue sur le Forum SIG, systèmes d'information géographique et de la géomatique. Aide logiciels SIG, ESRI Gamme ArcGIS Desktop et Server, MapInfo, Géoconcept, GéoMedia, ArcGis, ArcView, QuantumGIS, QGIS, Programmation en Visual Basic, Avenue, Python, MapBasic, Bases de données Access, PostGIS, MySQL, Télédétection Erdas, Er Mapper, Cartographie en ligne avec MapServer, CartoWeb, OpenLayers, LizMap, GeoTools, Progiciels APIC, Star, DAO et CAO avec AutoCAD, MicroStation, Illustratot, Offre de stage, Offre d'emploi, Avis sur les formations universitaires et profesionnelles et de la Géomatique
Mis à jour : il y a 5 an 49 semaines

[LizMap] Filtrer les données par utilisateurs & Table attributaire

23/10/2018 - 12:41
Bonjour,

je vous fais part d'un problème que j'ai en configurant Lizmap.
J'ai une couche pour laquelle j'utilise "Filtrer les données par utilisateur". Ça fonctionne très bien, les données sont correctement filtrées.
En revanche, pour la même couche, il me faut la table attributaire. Or, en passant par la table attributaire il n'y a aucun filtre et donc tout le monde a accès à toutes les données.
Je ne sais pas si j'ai fais une mauvaise manipulation ou si cela vient de la configuration du serveur mais y a-t-il un moyen pour que le filtre par utilisateur s'applique Ă  l’affichage de la carte mais Ă©galement Ă  l'affichage de la table attributaire?

Merci d'avance
Catégories: Géomatique, On en parle

[Théorie] Best Crane Contractors in Qatar | 100 Ton crane in Qatar | Auto Link International Qa

23/10/2018 - 05:38
Terex AC100 Ton All Terrain Crane is available from Auto Link International Crane hire Ltd. Terex 100 Ton. Category: All Terrain Cranes 35 - 160 Ton. Auto Link best Certified Crane contractors & Suppliers in Qatar.
Catégories: Géomatique, On en parle

[SIG] QGis, géoréférencement et marge d'erreur

19/10/2018 - 18:48
Bonjour,

Je travaille sur une carte du Val de Marne que j'ai géoréférencé avec 12 points. Le géoréférenceur m'indique cependant une marge d'erreur moyenne de 17.50 (mètres je suppose vu que je travaille en coordonnées projetées). C'est beaucoup ? pas beaucoup ? J'en ai vraiment aucune idée.

Merci beaucoup

Sylvain
Catégories: Géomatique, On en parle

[ArcGIS 10.x] probleme d execution du script dans arcgis

19/10/2018 - 13:08
bonjour,

j'ai un probleme lors de l execution de mon script dans arcgis voila l erreur :

Code: Executing: acpcanadaScript "C:\Users\User\Documents\miniprojet\test\testzone d etude.tif" C:\Users\User\Documents\ArcGIS\Default.gdb\testzonedetude_acpcanadaScriStartTime:FriOct1913:50:112018Running script acpcanadaScript...Failed script acpcanadaScript...Traceback(most recent call last):File"C:\Users\User\AppData\Roaming\ESRI\Desktop10.6\ArcToolbox\My Toolboxes\Toolbox.tbx#acpcanadaScript.py", line 25,in<module>File"c:\program files (x86)\arcgis\desktop10.6\arcpy\arcpy\__init__.py", line 655,inGetParameterAsTextreturn gp.getParameterAsText(index)File"c:\program files (x86)\arcgis\desktop10.6\arcpy\arcpy\geoprocessing\_base.py", line 226,in getParameterAsText    self._gp.GetParameterAsText(*gp_fixargs(args,True)))RuntimeError:Object:Errorin getting parameter as textFailed to execute (acpcanadaScript).Failed at FriOct1913:50:112018(ElapsedTime:0,24 seconds)

et voila mon script

Code: # acpcanada.py# Created on: 2018-10-16 13:15:30.00000#  (generated by ArcGIS/ModelBuilder)# Usage: acpcanada <testzone_d_etude_tif> <Princip_2> <acp_canada> # Description: # the analyse composent for canada # ---------------------------------------------------------------------------# Import arcpy moduleimport arcpy arcpy.env.workspace="C:\Users\User\Documents\miniprojet\test"# Script argumentstestzone_d_etude_tif = arcpy.GetParameterAsText(0)if testzone_d_etude_tif =='#'ornot testzone_d_etude_tif:    testzone_d_etude_tif ="testzone d etude.tif"# provide a default value if unspecifiedPrincip_2= arcpy.GetParameterAsText(1)ifPrincip_2=='#'ornotPrincip_2:Princip_2="Princip_d"# provide a default value if unspecifiedacp_canada = arcpy.GetParameterAsText(2)if acp_canada =='#'ornot acp_canada:    acp_canada ="acp.TXT"# provide a default value if unspecified# Local variables:# Process: Principal Componentsarcpy.gp.PrincipalComponents_sa("'testzone d etude.tif'",Princip_2,"3", acp_canada)

qu'est ce que je dois faire svp merci
Catégories: Géomatique, On en parle

[ArcGIS 10.x] arcgis python problem numpy

18/10/2018 - 14:46
bonjour,

c'est ma 1ER fois que j utilise le model builder pour gérer un script

j ai un projet a faire consiste a appliquer l ACP sur une image dans le but de réduire le nombre des bandes en utilisant le model builder pour gérer le script python ,dans un 2em temps c est d appliquer une classification non supervisé et a chaque fois j change les classe de 5 a 10 , 15 et 20 dans le but de calculer le temps écouler entre chaque classes
en 1er temps j ai essayé d appliquer l acp en utilisant le model builder , j'ai importer le script mais a chaque fois je le tourne m affiche un problème : no module named numpy , alors sur idle de python 2 quand j écris numpy tout marche bien y a pas un message d erreur

voila mon script , j utilise arcgis 10.6 avec python 2.7

Code: # -*- coding: utf-8 -*-
# ---------------------------------------------------------------------------
# acpcanada.py
# Created on: 2018-10-16 13:15:30.00000
#  (generated by ArcGIS/ModelBuilder)
# Usage: acpcanada <testzone_d_etude_tif> <Princip_2> <acp_canada>
# Description:
# the analyse composent for canada
# ---------------------------------------------------------------------------


# Import arcpy module
import arcpy
arcpy.env.workspace="C:\Users\User\Documents\miniprojet\test"


# Script arguments
testzone_d_etude_tif = arcpy.GetParameterAsText(0)
if testzone_d_etude_tif == '#' or not testzone_d_etude_tif:
    testzone_d_etude_tif = "testzone d etude.tif" # provide a default value if unspecified


Princip_2 = arcpy.GetParameterAsText(1)
if Princip_2 == '#' or not Princip_2:
    Princip_2 = "Princip_d" # provide a default value if unspecified


acp_canada = arcpy.GetParameterAsText(2)
if acp_canada == '#' or not acp_canada:
    acp_canada = "acp.TXT" # provide a default value if unspecified


# Local variables:


# Process: Principal Components
arcpy.gp.PrincipalComponents_sa("'testzone d etude.tif'", Princip_2, "3", acp_canada) merci d avance
Catégories: Géomatique, On en parle

[QGIS 3.x] homogeneiser une carte NDVI sous Qgis

17/10/2018 - 15:30
Bonjour,

Je souhaite créer une carte NDVI d'une de mes parcelles .
J'ai récupéré une image satellite Sentinel 2 via Qgis 3.2 , j'ai calculé le NDVI via la calculette raster . J'ai obtenu un raster que j'ai classifié par couleur selon les valeurs . Maintenant j'ai deux problèmes que je ne sais pas résoudre :
-je souhaiterais homogénéiser cette couche : qu 'il n'y ait pas de pixel tout seul d'une couleur dans un ensemble de pixel d'une autre couleur , pour obtenir une carte avec des zones homogènes pour en sortir les tendances.
-je souhaiterais aussi lisser le contour de mes pixels , avoir des contours adoucis.
Merci par avance de votre aide
Cordialement
Catégories: Géomatique, On en parle

[WebMapping] Solution saisie simplifiée /alternative à Access

17/10/2018 - 15:11
Bonjour,

On me demande de mettre en place une solution de saisie assez rapidement (d'ici la fin de l'année) pour que des observateurs puissent saisir leurs observations (qu'ils saisissaient avant sous Access, mais la base n'est plus utilisable).
En gros, ils se positionnent sur un point d'écoute, font des écoutes et doivent renseigner les effectifs pour une dizaine d'espèce sur une dizaine de sites par jour.

Que me recommanderiez vous de facile Ă  mettre en place, et qui puisse alimenter une base Postgres.
Il faut que ce web, facile d'accès, facile à prendre en main (certains ne sont pas des informaticiens).
J'avais testé sur OpenDataKit pour une option mobile, mais tous n'ont pas de smartphones.

MErci! Alex
Catégories: Géomatique, On en parle

[Théorie] Updated Business Mailing Lists Of 2018

16/10/2018 - 07:04
Finding the target market, having precise and refreshed business mailing records,
germany email database . They assume a vital job in your prosperity at the commercial center and help you outline successful showcasing methodology. Directed mailing list empowers you to center your business and causes you to get higher rate of reactions. This is where you are going to buy your item.


Regardless of what sort of business or organization you are, the main thing you need to be aware of. A few organizations build up their own databases over some stretch of time, but some purchase from database suppliers. We're going to have a lot of fun in the news. Likewise, you would have a different division to deal with your information. This devour loads of time, cash, and human endeavors. We're in the middle of things, you would not be happy with this.


Extraordinary Databases Business Mailing Lists


Extraordinary Databases is one such organization that understands your prerequisites and offers you the most extensive business mailing records. What you need, the organization gives a premium to you. Best of all, they offer you the latest and refreshed business databases. The organization offers a few choices and covers every one of the nations all through the world.


Asian, European, American, And International Business Mailing Lists


Unique Databases offers business arrangements of nations including the United States, Canada, the United Kingdom, Dubai, China, India, and some more. They offer US Business List Database, US Business Directory List, Canada Business Database, Canada Business Directory, UK Business List Database, India Business List Database, Singapore Business Database, Business Email List, Specialty Email Lists, Medical List, Real Estate Agent Listings, Dentists Lists, Physicians Lists, US Manufacturers Lists, US C-level Lists, US Healthcare Professionals Email List, Healthcare Industry Listings, UK Estate Agents Listings, Canadian Estate Agents Listings, and some more.


Best of all, all these business mailing records are refreshed in 2011. Regardless of whether there is an adjustment in the address or contact quantities of the organizations, it will be refreshed when it occurs. The organization gives around 70 million business records from a colossal cluster of Asian, European, American, and other global nations. They cover Singapore, India, China, Hong Kong, Indonesia, Japan, Dubai, New Zealand, Mexico, Argentina, Brazil Colombia, Austria, Belgium, Denmark, France, Germany, Ireland, Italy, Luxembourg, Netherlands, Norway, Switzerland, Spain , and some more.


Exceptional Databases gives precisely what you're looking for. It insures you are the most far reaching and refreshed business mailing records that are exceptionally easy to utilize. Their business databases are the most broad availability and offers whatever you require. With the goal to purchase business mailing records, just visit the site and read through their business records. Select the one that best suits your needs and put in your request. It's a good idea that you can locate a reasonable business database for your necessities, or call them and say your prerequisites. They'll help you discovering business mailing records for your organization.
Catégories: Géomatique, On en parle

[QGIS 2.x] Couche .gdb non modifiable (problème de lecture seule ?)

14/10/2018 - 20:06
Bonjour,

Je vous explique mon problème.
Je travaille sur Qgis, version Pisa ou Lisboa, j'ai les deux.

Je travaille sur un fichier .gdb, or sur le PC que j'ai actuellement (mon ancien du travail, je dis ça car un lien est possible), je ne peux pas modifier rien.
Quand je passe sur mon ancien PC perso, aucun souci. Sauf que ce PC est entrain de mourir donc je veux désormais utiliser l'autre.

Le crayon reste grisé. Le fichier est en lecture seule, et impossible à modifier cela. Si je décoche, la case "Lecture seule", une fois que je ferme la fenêtre ça c'est déjà remis. Je pense que le problème vient d'ici.
J'ai passé le week-end à arpenter les forums sans trouver de solution.

Comment faire pour rendre cette couche modifiable ? Comment modifier ces fichiers pour qu'ils soient plus en lecture seule ?
J'ai essayé plusieurs solutions, si j'enregistre la couche en .shp cela fonctionne mais malheureusement le fichier est beaucoup trop lourd et impossible de travailler dessus.

Je suis Ă  l'Ă©coute de toute aide.

Merci d'avance,
Catégories: Géomatique, On en parle

[QGIS 3.x] Enregistrement en QGZ

12/10/2018 - 16:53
Bonjour Ă  tous,

Est-ce que les utilisateurs de Qgis ont déjà rencontré des soucis avec le nouveau format d'enregistrement des projets ?

Le format QGZ remplace par défaut le format QGS dans Qgis 3. Je n'ai rien contre ce nouveau format. Mais il m'est déjà arrivé plusieurs fois de ne pas pouvoir ouvrir le projet enregistré la veille ou la minute d'avant. Qgis ne dit rien, n'affiche pas de message d'erreur. Simplement, il ne charge rien. On peut faire de multiples tentatives, sans le moindre succès.

Je soupçonne le nouveau Qgis de ne pas accepter les noms comportant des caractères accentués ou certains types de noms.
Catégories: Géomatique, On en parle

choix d'un stylet Tablette Graphique pas cher ?

12/10/2018 - 03:42
Je cherche une tablette graphique ,principalement pour faire du dessin. à moins de 100€ (donc environ 70-80 € si possible).
Je l'utiliserai surtout pour du dessein sous photoshop, enfin pour débuter.
Je suis sous mac, maitrise parfaitement les logiciels de création, de manipulation etc mais je n'ai jamais reellement utiliser une tablette... et je ne sais pas trop que choisir...
J'hésite donc entre la Wacom Intuos Pro M ou la XP-Pen DECO 01 .
Sinon pour moi le top c'est DECO 01 , regarde ça...
https://www.xp-pen.fr/goods/show/id/238.html

Je voudrai donc vos avis, et des conseil sur quelle marque prendre.
Merci beaucoup.
Catégories: Géomatique, On en parle

[QGIS 3.x] Fonctionnement jointure

10/10/2018 - 13:29
Bonjour

Pour diverses raisons, j'utilise des fichiers excel Ă  partir desquels je fais des jointures avec des .shp.
Par exemple, j'ai récupéré le .shp des EPCI dans ADMIN-express, supprimé tous les champs sauf ID et fait des jointures avec un excel qui contient pleins d'autres infos que celles fournies par le .shp.
J'ai ensuite testé la suppression d'une partie des EPCI (ceux hors région) depuis le .shp. Ça a bien fonctionné, la couche n'affiche bien que les EPCI régionaux, et la base excel est restée intacte, c'est-à-dire avec tous les EPCI de France.
J'ai donc pensé possible de refaire la même chose pour avoir les EPCI d'une autre région, en repartant du .shp complet d'ADMIN-express, avec la création de jointure avec la base excel.
Les jointure fonctionnent, mais pour tous les EPCI hors de la 1ère région, les champ indiquent "null", comme si finalement ils avaient été effacés de la base excel.

Ma méthode n'est-elle pas bonne ?

Merci
Catégories: Géomatique, On en parle

[QGIS 3.x] Appliquer un style sur une sélection

09/10/2018 - 14:29
Bonjour

Je dispose de la carte des EPCI-FP français, et la table des attributs me permet de catégoriser ces EPCI-FP selon un critère, mais je voudrai appliquer cette catégorisation aux EPCI-FP de la région et que les autres ne soient pas visibles.
Ma pratique habituelle de débutant, serait de sélectionner les EPCI-FP de la région et de créer une couche à partir de cette sélection. Puis je catégorise. Mais est-ce possible de ne pas créer une couche, c'est-à-dire d'appliquer un style sur une sélection et un autre sur le reste ?
Merci

- - MISE A JOUR - -

Je précise que la couche EPCI-FP est liée à un fichier excel, et c'est pour ne pas perdre cette liaison que je souhaite éviter de faire une 2ème couche.
Catégories: Géomatique, On en parle

Comment télécharger des séries de liens ?

08/10/2018 - 11:59
Bonjour Ă  tous,

Actuellement, je télécharge des données. Mais au lieu d'avoir un lien pour une grosse archive, j'ai reçu un e-mail automatique avec des centaines de liens à télécharger pour les portions de 256 Mo. J'en suis déjà à 122, cela m'a pris des heures et je n'en suis même pas à la moitié...

Est-ce que quelqu'un saurait s'il existe une extension pour navigateur ou une application qui permettrait de coller le texte contenant tous ces liens et qui téléchargerait tout le contenu pointé ?

Ib.
Catégories: Géomatique, On en parle

Comment télécharger des séries de liens ?

08/10/2018 - 11:59
Bonjour Ă  tous,

Actuellement, je télécharge des données. Mais au lieu d'avoir un lien pour une grosse archive, j'ai reçu un e-mail automatique avec des centaines de liens à télécharger pour les portions de 256 Mo. J'en suis déjà à 122, cela m'a pris des heures et je n'en suis même pas à la moitié...

Est-ce que quelqu'un saurait s'il existe une extension pour navigateur ou une application qui permettrait de coller le texte contenant tous ces liens et qui téléchargerait tout le contenu pointé ?

Ib.
Catégories: Géomatique, On en parle

[GPS] DNR Garmin et GPSMAP 64

07/10/2018 - 22:02
Bonsoir a toutes et a tous, je suis nouveau sur les GPS et de l'utilisation DNRGarmin
Mon problème est que j'ai pris des points avec mon gps et que je voudrais représenter sur une carte avec l'aide de Dnr gamin. le seul souci est que je ne trouve qu'un seul point comment y remédier. je suis un peu perdu
Merci.
Catégories: Géomatique, On en parle

[QGIS 2.x] Visualisation d'un lien TMS sur QGIS

07/10/2018 - 17:42
Madame, Monsieur, Bonjour,

Je voudrai utiliser le lien TMS d'opentopomap sur QGIS.

J'ai suivi les recommandations proposé sur le site :

http://www.portailsig.org/content/qg...ions-tilelayer

J'ai réalisé deux des trois façons proposés pour visualiser les tuiles TMS:

- avec GDAL
- avec l'extension TileLayerPlugin


Le résultat est le même: j'ai un écran rayer en différente couleurs mais sans possibilité de voir les fonds OTP.
C'est la première fois que j'utilise ce type de lien.

Pouvez vous m'aider et en vous remerciant par avance.
Catégories: Géomatique, On en parle

[PostGIS] Fonction itère sur toutes les tables d'un schéma

07/10/2018 - 16:41
Bonjour,

J'ai une couche de points de plusieurs millions d'entités sur la France entière.
J'ai décidé d'utiliser la fonction \gexec de psql pour diviser mon jeu de données en plusieurs tables correspondant à chaque département.


Code: SELECT 'DROP TABLE IF EXISTS pt_cuivre.dep' || code_dep || '; CREATE TABLE pt_cuivre.dep'|| code_dep || ' AS SELECT  * FROM cuivre.v_france_extract_dep WHERE code_dep =' || quote_literal(code_dep) || ';' AS requete FROM (SELECT DISTINCT code_dep FROM cuivre.v_france_extract_dep) AS a \gexec J'aimerais gĂ©nĂ©rer des diagrammes de voronoi en reprenant le mĂŞme principe (c'est Ă  dire une table de voronoi par dĂ©partement) mais en repartant des tables du schĂ©ma pt_cuivre.
Ma question est : comment exécuter mon script en lui faisant boucler sur toutes les tables du schéma pt_cuivre?

J'ai commencé une fonction qui crée la requête dynamique me donnant pour chaque table la bonne requête à exécuter. (l'essentiel du travail de génération de voronoi vient de de John Powell : https://gis.stackexchange.com/questi.../172256#172256

Code: CREATE OR REPLACE FUNCTION voronoi_pt_cuivre_dep() RETURNS VARCHAR as $BODY$
BEGIN
EXECUTE format($$
-- Calcule l'enveloppe concave pour les points d'entrée
-- les points sur l'enveloppe concave sont ceux qui ont des polygones non fermés dans le diagramme de Voronoï en sortie.
            WITH conv_hull(geom) AS
            (SELECT ST_ConcaveHull( ST_Collect(geom),0.70,true )
              FROM %1$s.%2$s meshpoints),
-- Trouve les points d'origine de l'enveloppe concave
          edge_points(points) AS
              (SELECT mp.geom FROM %1$s.%2$s mp, conv_hull ch
              WHERE ST_Touches(ch.geom, mp.geom)),
-- Buffer autour de l'enveloppe (distance arbitraire)   
            buffered_points(geom) AS           
            (SELECT ST_Buffer(geom, 100) as geom FROM conv_hull),
-- Trouve les points les plus proches du buffer de l'enveloppe la plus proche des points de l'Ă©tape 2                   
          closest_points(points) AS   
            (SELECT ST_Closestpoint(ST_Exteriorring(bp.geom), ep.points) as points,ep.points as epoints FROM buffered_points bp, edge_points ep),
-- Ajouter ces points au jeu de donnĂ©es d'origine       
          combined_points(points) AS   
        (SELECT points FROM closest_points UNION SELECT geom FROM %1$s.%2$s meshpoints),
-- Calcule les diagrammes de voronoi Ă  partir de ce jeu de donnĂ©es combinĂ©. Tous les points ont maintenant des polygones fermĂ©s                   
          voronoi (vor) AS
      (SELECT ST_Dump(ST_VoronoiPolygons(ST_Collect(points))) as geom FROM combined_points)   
    SELECT
    (vor).path[1] as id,
    (vor).geom
    INTO voronoi.%2$s                                 
    FROM voronoi                             
    $$, schemaname, tablename)
FROM pg_catalog.pg_tables
WHERE schemaname = 'pt_cuivre';             
END
$BODY$ LANGUAGE plpgsql; Lorsque j'essaye d'exécuter ma fonction Postgres me dit que plus d'une ligne est renvoyée..je ne trouve pas mon erreur dans le code, auriez vous une idée?

Merci d'avance!

Marine.
Catégories: Géomatique, On en parle

[PostGIS] Fonction itère sur toutes les tables d'un schéma

07/10/2018 - 16:41
Bonjour,

J'ai une couche de points de plusieurs millions d'entités sur la France entière.
J'ai décidé d'utiliser la fonction \gexec de psql pour diviser mon jeu de données en plusieurs tables correspondant à chaque département.


Code: SELECT 'DROP TABLE IF EXISTS pt_cuivre.dep' || code_dep || '; CREATE TABLE pt_cuivre.dep'|| code_dep || ' AS SELECT  * FROM cuivre.v_france_extract_dep WHERE code_dep =' || quote_literal(code_dep) || ';' AS requete FROM (SELECT DISTINCT code_dep FROM cuivre.v_france_extract_dep) AS a \gexec J'aimerais gĂ©nĂ©rer des diagrammes de voronoi en reprenant le mĂŞme principe (c'est Ă  dire une table de voronoi par dĂ©partement) mais en repartant des tables du schĂ©ma pt_cuivre.
Ma question est : comment exécuter mon script en lui faisant boucler sur toutes les tables du schéma pt_cuivre?

J'ai commencé une fonction qui crée la requête dynamique me donnant pour chaque table la bonne requête à exécuter. (l'essentiel du travail de génération de voronoi vient de de John Powell : https://gis.stackexchange.com/questi.../172256#172256

Code: CREATE OR REPLACE FUNCTION voronoi_pt_cuivre_dep() RETURNS VARCHAR as $BODY$
BEGIN
EXECUTE format($$
-- Calcule l'enveloppe concave pour les points d'entrée
-- les points sur l'enveloppe concave sont ceux qui ont des polygones non fermés dans le diagramme de Voronoï en sortie.
            WITH conv_hull(geom) AS
            (SELECT ST_ConcaveHull( ST_Collect(geom),0.70,true )
              FROM %1$s.%2$s meshpoints),
-- Trouve les points d'origine de l'enveloppe concave
          edge_points(points) AS
              (SELECT mp.geom FROM %1$s.%2$s mp, conv_hull ch
              WHERE ST_Touches(ch.geom, mp.geom)),
-- Buffer autour de l'enveloppe (distance arbitraire)   
            buffered_points(geom) AS           
            (SELECT ST_Buffer(geom, 100) as geom FROM conv_hull),
-- Trouve les points les plus proches du buffer de l'enveloppe la plus proche des points de l'Ă©tape 2                   
          closest_points(points) AS   
            (SELECT ST_Closestpoint(ST_Exteriorring(bp.geom), ep.points) as points,ep.points as epoints FROM buffered_points bp, edge_points ep),
-- Ajouter ces points au jeu de donnĂ©es d'origine       
          combined_points(points) AS   
        (SELECT points FROM closest_points UNION SELECT geom FROM %1$s.%2$s meshpoints),
-- Calcule les diagrammes de voronoi Ă  partir de ce jeu de donnĂ©es combinĂ©. Tous les points ont maintenant des polygones fermĂ©s                   
          voronoi (vor) AS
      (SELECT ST_Dump(ST_VoronoiPolygons(ST_Collect(points))) as geom FROM combined_points)   
    SELECT
    (vor).path[1] as id,
    (vor).geom
    INTO voronoi.%2$s                                 
    FROM voronoi                             
    $$, schemaname, tablename)
FROM pg_catalog.pg_tables
WHERE schemaname = 'pt_cuivre';             
END
$BODY$ LANGUAGE plpgsql; Lorsque j'essaye d'exécuter ma fonction Postgres me dit que plus d'une ligne est renvoyée..je ne trouve pas mon erreur dans le code, auriez vous une idée?

Merci d'avance!

Marine.
Catégories: Géomatique, On en parle

[PostGIS] Fonction itère sur toutes les tables d'un schéma

07/10/2018 - 16:39
Bonjour,

J'ai une couche de points de plusieurs millions d'entités sur la France entière.
J'ai décidé d'utiliser la fonction \gexec de psql pour diviser mon jeu de données en plusieurs tables correspondant à chaque département.


Code: SELECT 'DROP TABLE IF EXISTS pt_cuivre.dep' || code_dep || '; CREATE TABLE pt_cuivre.dep'|| code_dep || ' AS SELECT  * FROM cuivre.v_france_extract_dep WHERE code_dep =' || quote_literal(code_dep) || ';' AS requete FROM (SELECT DISTINCT code_dep FROM cuivre.v_france_extract_dep) AS a \gexec J'aimerais gĂ©nĂ©rer des diagrammes de voronoi en reprenant le mĂŞme principe (c'est Ă  dire une table de voronoi par dĂ©partement) mais en repartant des tables du schĂ©ma pt_cuivre.
Ma question est : comment exécuter mon script en lui faisant boucler sur toutes les tables du schéma pt_cuivre?

J'ai commencé une fonction qui crée la requête dynamique me donnant pour chaque table la bonne requête à exécuter. (l'essentiel du travail de génération de voronoi vient de de John Powell : https://gis.stackexchange.com/questi.../172256#172256

CODE]CREATE OR REPLACE FUNCTION voronoi_pt_cuivre_dep() RETURNS VARCHAR AS $BODY$ BEGIN EXECUTE format($$ -- Calcule l'enveloppe concave pour les points d'entrée -- les points sur l'enveloppe concave sont ceux qui ont des polygones non fermés dans le diagramme de Voronoï en sortie. DROP TABLE IF EXISTS voronoi.%2$s; CREATE TABLE voronoi.%2$s AS (SELECT a.id, a.geom FROM (WITH conv_hull(geom) AS (SELECT ST_ConcaveHull( ST_Collect(geom),0.70,true ) --INTO %1$s.%2$s FROM %1$s.%2$s meshpoints), -- Trouve les points d'origine de l'enveloppe concave edge_points(points) AS (SELECT mp.geom FROM %1$s.%2$s mp, conv_hull ch WHERE ST_Touches(ch.geom, mp.geom)), -- Buffer autour de l'enveloppe (distance arbitraire) buffered_points(geom) AS (SELECT ST_Buffer(geom, 100) as geom FROM conv_hull), -- Trouve les points les plus proches du buffer de l'enveloppe la plus proche des points de l'étape 2 closest_points(points) AS (SELECT ST_Closestpoint(ST_Exteriorring(bp.geom), ep.points) as points,ep.points as epoints FROM buffered_points bp, edge_points ep), -- Ajouter ces points au jeu de données d'origine combined_points(points) AS (SELECT points FROM closest_points UNION SELECT geom FROM %1$s.%2$s meshpoints), -- Calcule les diagrammes de voronoi à partir de ce jeu de données combiné. Tous les points ont maintenant des polygones fermés voronoi (vor) AS (SELECT ST_Dump(ST_VoronoiPolygons(ST_Collect(points))) as geom FROM combined_points) SELECT (vor).path[1] as id, (vor).geom -- INTO voronoi.%2$s FROM voronoi)a) $$, schemaname, tablename) FROM pg_catalog.pg_tables WHERE schemaname = 'pt_cuivre'; END $BODY$ LANGUAGE plpgsql;[[/CODE]

Lorsque j'essaye d'exécuter ma fonction Postgres me dit que plus d'une ligne est renvoyée..je ne trouve pas mon erreur dans le code, auriez vous une idée?

Merci d'avance!

Marine.
Catégories: Géomatique, On en parle