[Talk-it] Statistiche?

Diego Guidotti - Aedit s.r.l. guidotti at aedit.it
Tue Jul 6 11:45:17 BST 2010


2010/7/6 Stefano Salvador <stefano.salvador at gmail.com>

>
> - le query sono le seguenti:
>
>   SELECT SUM(ST_Length2D(way)) FROM planet_osm_line WHERE tags ? 'highway'
>   SELECT SUM(ST_Length2D(way)) FROM planet_osm_line WHERE tags @>
> 'highway=>footway'
>
> Per il sito delle statistiche[1] ho usato la seguente funzione:

*ST_length_spheroid(transform(geometry,4326),'SPHEROID["WGS84",6378137,298.25728]'))
*

Ovvero riproietto i dati in coordinate geografiche ed uso il calcolo della
lunghezza lungo lo sferoide WGS84. Usando la funzione lenght su geometrie
proiettate in mercatore sferico mi sovrastima molto la lunghezza delle
strade (e l'errore cresce con la latitudine). Ad esempio la lunghezza delle
highway della liguria (aggiornata a qualche giorno fa) dovrebbe essere pari
a 10.000 km e non 14.000.

Nella query che segue  ho fatto un esempio. 5 metri di distanza nelle
coordinate mercatore sferico a genova corrisponde a 3,5 metri effettivi. La
differenza tra usare il sistema di proiezione italiana (fuso est per la
liguria) e lo sferoide sono minime.

*select
*
*ST_**length2d(geom),
**ST_**length(transform(geom,3003)), *
*ST_**length_spheroid(transform(geom,4326),'SPHEROID["WGS84",6378137,298.25728]')

from (*
*select **ST_**geomFromtext('LINESTRING (1000000 5520000,1000000
5520005)',900913) as geom*
*) x*


Ciao,
Diego

[1] www.gfoss.it/osm/stat/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-it/attachments/20100706/fdb5b4b8/attachment.html>


More information about the Talk-it mailing list