Sur la même idée (zones sans rues là où devrait logiquement y en avoir), j'ai tenté une autre approche, repérer les landuse=residential avec aucun rue traversante.
<div><br></div><div>Dans mon extrait de planet j'ai 33406 polygones avec landuse=residential sur environ 6,4 millions de polygones.</div><div><br></div><div><br></div><div>La requête ressemble à ça:</div><div><br></div>

<div>SELECT l.osm_id</div><div>FROM osm_polygon l</div><div>  LEFT OUTER JOIN osm_line r</div><div>    ON (r.highway IS NOT NULL</div><div>      AND (st_intersects(st_buffer(l.way,0),r.way) OR st_contains(st_buffer(l.way,0),r.way)))</div>

<div>WHERE st_area(st_transform(st_buffer(l.way,0),2154)) > 10000</div><div>  AND l.landuse IS NOT NULL</div><div>  AND l.landuse='residential'</div><div>  AND r.osm_id IS NULL</div><div>LIMIT 10;</div><div><br>

</div><div>C'est un premier jet pas vraiment optimisé donc lent à s'exécuter sur une zone importante mais ce qu'elle renvoie a l'air correct.</div><div><br></div><div>J'ai limité aux landuse d'au moins 1 Ha car certains bâtiments sont taggués building=yes+landuse=residential en particulier dans l'import BMO. Il y a aussi des zones où les landuse sont découpés de part et d'autres des routes et rues, pâté de maison par pâte de maison.</div>

<div><br></div><div>J'ai aussi eu besoin de st_buffer pour "nettoyer" les polygones non conformes qui trainent ici et là.</div><div><br></div><div>--</div><div>Christian</div>