[OSM-talk-fr] [SQL] Communes sans rue

Vincent Pottier vpottier at gmail.com
Jeu 12 Aou 12:16:00 UTC 2010


On 12/08/2010 13:36, Thomas Walraet wrote:
> Le 12/08/2010 12:48 :
>>
>> J'en suis à 3149 communes sans rues sur une base France large.
>> Un petit tableau vite fait :
>> http://frvipofm.net/osm/import/CommunesSansRues.html
>
> Si j'ai bien tout compris le contenu de ta liste, pourquoi Trébeurden 
> est dedans ?
>
> 22343
> http://www.openstreetmap.org/browse/relation/411310
> http://www.openstreetmap.org/?lat=48.766996759365&lon=-3.59632330138393&zoom=14&layers=M 
>
Bon. Un faux positif. Serait-ce à cause des exclaves sans voirie ?

Si quelque spécialiste du postGis peut trouver ce qui ne va pas dans la 
requête :
SELECT '<tr><td><a href="http://www.openstreetmap.org/browse/' ||
CASE WHEN c.osm_id < 0 THEN 'relation/'
ELSE 'way/'
END ||
ABS(c.osm_id) ||
'">' ||
CASE WHEN c.osm_id < 0 THEN 'r '
ELSE 'w '
END ||
ABS(c.osm_id) ||
'</a></td><td>' ||
c."ref:INSEE" ||
'</td><td>' ||
c.name ||
'</td><td><a href="http://www.openstreetmap.org/?mlat=' ||
ST_Y(ST_Centroid(c.way)) ||
'&mlon=' ||
ST_X(ST_Centroid(c.way)) ||
'&zoom=14&layers=M">' ||
c.name ||
'</a></td></tr>'


FROM france_polygon AS c
LEFT OUTER JOIN france_line AS r
ON ( r.highway='residential'
OR r.highway='unclassified'
OR r.highway='tertiary'
OR r.highway='secondary'
)
AND (
ST_Intersects(c.way, r.way)
OR ST_Contains(c.way, r.way)
)
WHERE c.admin_level='8'
AND r.osm_id IS NULL
ORDER BY c."ref:INSEE"

--
FrViPofm




Plus d'informations sur la liste de diffusion Talk-fr