#1 Tue 17 January 2017 16:47
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
PostGIS : Volumétrie de données et St_delaunay
Bonjour,
J'utilise la commande st_delaunay, afin de créer des triangles de Delaunay. Jusqu'à maintenant le volume de données utilisé était "faible" (5000 points) et ça marchait plutôt pas mal avec des temps de réponses bons.
On m'a demandé de tester avec un plus gros volume de données (2 millions points), et là, j'ai plantage sur plantage (bien entendu j'ai index spatial).
Donc est-ce normal?
Y-a-t-il un moyen de réaliser cette triangulation sans plantage ?
D'avance merci
Ted
Hors ligne
#2 Wed 18 January 2017 09:07
- Ben22
- Participant actif
- Lieu: 33
- Date d'inscription: 11 May 2016
- Messages: 96
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour Ted,
Il faudrait dans un premier temps s'assurer que le problème vient bien de la taille de la table et non des données (géométrie, srid...) .
Avez-vous un message d'erreur ? Vous est-il possible de réaliser la fonction en plusieurs fois sur un nombre croissant de point ? (100 000, 500 000, 1 000 000 ...)
Ben
Hors ligne
#3 Wed 18 January 2017 09:13
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour Ben22,
J'utilise cette fonction assez régulièrement avec 3000 à 5000 points et tout se passe correctement. Je vais voir en augmentant progressivement.
En fait, je n'ai pas de message d'erreur, j'ai juste un "à cesser de fonctionner".
Ted
Hors ligne
#4 Wed 18 January 2017 09:28
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour,
Pas trop le temps, mais pour comprendre ce qui ce passe:
http://yahiko.developpez.com/tutoriels/ … rementale/
www.isima.fr/f4/projets2009/coatelen_falk.pdf voir la page 27
https://fr.wikipedia.org/wiki/Triangulation_de_Delaunay
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#5 Wed 18 January 2017 10:52
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: PostGIS : Volumétrie de données et St_delaunay
Re,
Je viens de réaliser un test :
66000 objets ponctuels => environ 130000 triangles en 2'19"
130000 objets ponctuels => environ 270000 triangles en 11'10"
Les temps ne sont pas doublés, mais multipliés par 5 grosso modo.
Ce qui explique "mon plantage" pour 2 millions d'objets.
Comment pourrais-je faire?
Ted
Hors ligne
#6 Wed 18 January 2017 16:04
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour,
Le deuxième lien que j'ai cité est intéressant à plus d'un titre.
La première page qui pose les définitions éclairera peut-être certains ici sur des notions informatiques qui sont sous-jacentes dans beaucoup de problèmes et sujets abordés sur GeoRezo.
Les temps ne sont pas doublés, mais multipliés par 5 grosso modo.
Je vous renvoies sur ce même document à la partie complexité théorique et complexité mesurée (page 27 et précédentes).
Comment pourrais-je faire?
La partie définition citée plus haut et la théorie de cette triangulation devraient vous donner des pistes à suivre ...
(notion de sous-ensemble).
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#7 Wed 18 January 2017 17:11
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour Ted,
J'ai résolu un problème important avec la performance des fonctions Delaunay, il y a un an. Il vous faudrait une version de GEOS >= 3.5.1. Vous pouvez vérifiez la version installée de GEOS avec la commande suivante:
Code:
SELECT postgis_full_version();
Récemment j'ai fait une triangulation delaunay avec 800 000 pointes; ça a pris ~15 secondes.
Autrement, les calculs de ST_DelaunayTriangles sont faites entièrement en mémoire et n'utilise pas d'index spatiale.
Daniel
Dernière modification par dbaston (Wed 18 January 2017 17:14)
Hors ligne
#8 Thu 19 January 2017 08:49
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour,
Voici le résultat de la requête :
POSTGIS="2.1.4 r12966" GEOS="3.4.2-CAPI-1.8.2 r3924" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.11.1, released 2014/09/24" LIBXML="2.7.8" LIBJSON="UNKNOWN" TOPOLOGY RASTER
Peut-on upgrader seulement le GEOS?
@ChristopheV, je vais lire la doc
a+
Hors ligne
#9 Thu 19 January 2017 21:41
Re: PostGIS : Volumétrie de données et St_delaunay
Peut-on upgrader seulement le GEOS?
Je crois que ça devrait être possible sur Linux, mais ça pourrait être un peu compliqué si la version plus récente ne se trouve pas dans la répertoire de paquets pour votre distro.
Avec Windows j'en suis moins sur.
Vous pourriez aussi mettre à jour PostGIS et GEOS à la fois. Contrairement aux upgrades de Postgres, ça peut se faire sur place et ne nécessite pas un pg_dump/pg_restore.
Daniel
Hors ligne
#10 Mon 23 January 2017 08:17
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: PostGIS : Volumétrie de données et St_delaunay
Bonjour,
J'ai testé chez moi avec la version 3.6 de GEOS, et le traitement de 3,5 millions de points en 10minutes. En effet, ça change beaucoup de chose.
Ted
Hors ligne