[Gfoss] Spatialite - calcolo angolo zenith

a.furieri a lqt.it a.furieri a lqt.it
Lun 4 Feb 2019 13:22:52 CET


On Mon, 4 Feb 2019 04:13:26 -0700 (MST), Falz wrote:
> Alla fine ho risolto così con spatialite NEXTGEN, facendo anche un 
> confronto
> tra le varie formule, con la bellezza del calcolo 3d =)
>
> --I calcoli geodetici vogliono solo epsg=4326 altrimenti non 
> funzionano!
> --CALCOLA RELAZIONE TRA DUE PUNTI: (epsg=4326 WGS84, epsg=25832
> ETRS89/UTM_zone_32N)
>
> select
> st_distance(st_transform(geoA, 25832), st_transform(geoB, 25832)) as
> 'distanza_2d',
> st_3ddistance(st_transform(geoA, 25832), st_transform(geoB, 25832)) 
> as
> 'distanza_3d',
> degrees(st_azimuth(st_transform(geoA, 25832), st_transform(geoB, 
> 25832))) as
> 'azimuth',
> degrees(asin((st_z(geoA)-st_z(geoB))/st_3ddistance(st_transform(geoA,
> 25832), st_transform(geoB, 25832)))) as 'angolo_zenitale',
> geodesicarclength(geoA, geoB) as 'arcodistanza',
> geodesicchordlength(geoA, geoB) as 'corda',
> degrees(geodesiccentralangle(geoA, geoB)) as 'angolo_centrale',
> geodesicarcheight(geoA, geoB) as 'h_arco'
> from
> (select
> st_geomfromtext('POINTZ(11.040796 46.139230 2071)', 4326) as geoA,
> st_geomfromtext('POINTZ(11.160461 46.195844 727.5)', 4326) as geoB);
>

Simone,

hai scritto l'elogio perfetto dello Spatial SQL :-D

quando hai uno strumento di calcolo e di analisi cosi' flessibile
e potente, non e' mai un problema insormontabile se non trovi la
soluzione pre-cotta che ti serve pronta all'uso.

basta un pizzico di fantasia e puoi sempre provare a scrivertela
da solo appoggiandoti alle tantissime funzioni SQL disponibili.
direi che il tuo e' un bel caso da manuale. ;-)

ciao Sandro


Maggiori informazioni sulla lista Gfoss