Bonsoir, j'ai regardé ce soir comment résoudre le problème des polygones de très grandes tailles. Tout n'est pas résolu mais le plus gros du travail théorique est fait. J'ai donc essayé la technique sur le polygone de la Seine Et Marne. La technique est de faire une différence entre les polygones existants et le polygone Corine. Maintenant je peux étendre la requête a tous les polygones qui ont une certaine taille et qui n'ont pas été importés. Je me pose la question sur comment on procède maintenant. Je vais continuer a améliorer la requête mais il faut voir. Maintenant, pour ceux qui veulent voir la requête qui fait peur, voila! A noter que pour faire fonctionner la requête sur tous les polygones, il faudra faire un group by et d'autres jolies requêtes imbriquées supplémentaires, mais la requête est faite globalement.
SELECT p.geomdump, p.pathdump[1] FROM ( SELECT (ST_Dump(ST_Difference(l.the_geom, mp.way))).geom AS geomdump, (ST_Dump(ST_Difference(l.the_geom, mp.way))).path AS pathdump FROM ( SELECT ST_Multi(ST_Union(pop.way)) AS way FROM planet_osm_polygon AS pop INNER JOIN landuse AS l ON l."CLC:id" = 'FR-6749' AND ST_Intersects(pop.way, l.the_geom) WHERE pop.landuse IS NOT NULL OR pop.aeroway IS NOT NULL OR pop.natural IS NOT NULL OR pop.wood IS NOT NULL OR pop.waterway='riverbank' ) AS mp, landuse AS l WHERE l."CLC:id" = 'FR-6749' ) AS p Dans le cas présent, cette requête génère 60 polygones au lieu d'un seul. Cela veut dire que de découper un polygone peut conduire a la création de beaucoup plus de polygones. Celui ci est constitue d'un très gros polygone, et pleins de tous petits. Émilie Laffray
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr