En plus lisible :

SELECT
    ST_Simplify(ST_LineMerge (st_intersection(p.way,p2.way)),10) as limite,
    concat(p.name ,' - ', p2.name) as nom
from
    planet_osm_polygon p
    join planet_osm_polygon p2
on
    (st_touches(p.way,p2.way)
    and p2."ref:INSEE" is not null
    and p2.admin_level='8'
    and p2.boundary='administrative'
    and p2.osm_id>p.osm_id)
where
    p.way && !bbox!
    and p."ref:INSEE" is not null
    and p.admin_level='8'
    and p.boundary='administrative';

Quand tu dis qu'il y a des manque, c'est que le compte n'y est pas ?

Je suis pas expert, mais je me demande si tu n'exclues pas les limites qui ne se touchent pas avec le 'ON (st_touches(p.way,p2.way)'.
Ca donne quoi si tu recherches au contraire les communes qui sont isolées ?

Yves



On 12/11/2013 04:58 PM, Christian Quest wrote:
Les limites admins sont super définies mais pour des usages à petite ou moyenne échelle ça fait quelques chose de trop défini et trop volumineux à traiter.

Qui peut le plus peut le moins !

J'ai commencé à m'attaquer à ça pour produire des version plus légères de nos limites admins. Pour l'instant, je joue avec ST_Touches pour sélectionner les polygones limitrophes, puis ST_Intersection, ST_LineMerge et ST_Simplify pour obtenir un linestring simplifié par frontière entre 2 communes.

Ca semble ok sauf que j'ai des manques.

voici la tête de la requête si quelqu'un a une idée:

SELECT ST_Simplify(ST_LineMerge (st_intersection(p.way,p2.way)),10) as limite, concat(p.name <http://p.name> ,' - ', p2.name <http://p2.name>) as nom from planet_osm_polygon p join planet_osm_polygon p2 on (st_touches(p.way,p2.way) and p2."ref:INSEE" is not null and p2.admin_level='8' and p2.boundary='administrative' and p2.osm_id>p.osm_id) where p.way && !bbox! and p."ref:INSEE" is not null and p.admin_level='8' and p.boundary='administrative';

--
Christian Quest - OpenStreetMap France
Un nouveau serveur pour OSM... http://donate.osm.org/server2013/


_______________________________________________
dev-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/dev-fr

_______________________________________________
dev-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/dev-fr

Répondre à