Questo sito usa dei cookie (per informazioni sulla gestione dei cookies fai click qui)tecnici per poter funzionare, non vengono usati cookie di terze parti ne tantomeno vengono creati profili.

Bug 63 - Convertitore di coordinate
Summary: Convertitore di coordinate
Status: RESOLVED DONE
Alias: None
Product: anArchive
Classification: Unclassified
Component: archiver (show other bugs)
Version: 5
Hardware: All All
: --- enhancement
Assignee: Edoardo Panfili
URL:
Keywords: gis
Depends on:
Blocks:
 
Reported: 2011-01-27 21:20 CET by Edoardo Panfili
Modified: 2011-04-22 11:13 CEST (History)
1 user (show)

See Also:


Attachments

Description Edoardo Panfili 2011-01-27 21:20:28 CET
Serve una utility per passare da un sistema di riferimto qualsiasi a WGS84
Comment 1 Francesco Geri 2011-02-18 10:21:02 CET
ogr2ogr è un utility che serve proprio a questo. Potrsti richiamarla da dentro anarchive.

da linea di comando: 
ogr2ogr $file_output $file_input -s_srs EPSG:sistema_rif_input -t_srs EPSG:sistema_rif_output
Comment 2 Edoardo Panfili 2011-03-27 16:17:03 CEST
ogr2ogr va usato lato server, analogamente a chiedere la traduzione e postgis.

Ho provato a vedere se trovavo librerie per proiezione per java, esiste un porting di proj4

http://sourceforge.net/projects/jmapprojlib/
non è un pacchetto definitivo e sembra ancora aver lavoro da fare

credo convenga fare il lavoro lato server.
Comment 3 Edoardo Panfili 2011-03-27 16:26:16 CEST
correzione: esiste anche http://geotools.org/
fa molte cose oltre alle proiezioni, il download dei binari è più di 40M
Comment 4 Francesco Geri 2011-03-30 12:35:23 CEST
Geotools sembra molto figoso. Io di java non so niente....in python è tutto molto semplice: bastano poche righe di codice per accedere al db, leggere i punti e trasformare le coordinate
es.:

uri = QgsDataSourceURI()
uri.setConnection("localhost ","5432 " , " dbname"," johny","xxx ")
uri.setDataSource ("public ","roads ", "the _geom ", "condizione")
vlayer=QgsVectorLayer (uri .uri() ,"nome_layer","postgres ")
feature=layer.GetFeature(0)
while feature:
	geom=feature.GetGeometryRef()
	print geom.GetX(), geom.GetY()
	inputsr=osr.SpatialReference()
	outputsr=osr.SpatialReference()
	inputsr.ImportFromEPSG(32632)
	outputsr.ImportFromEPSG(4326)
	coordtrans=osr.CoordinateTransformation(inputsr, outputsr)
	geom.Transform(coordtrans)
.....

Ci sarebbe Jython, che credo permetta di leggere le librerie di python in java....ma non l'ho mai guardato bene. Anzi, un giorno che hai tempo e gli dai un'occhiata poi mi dici.

Ciao!
Comment 5 Edoardo Panfili 2011-03-30 18:35:22 CEST
attualmente evito di complicarmi l'esistenza, creo un servizio per fare le conversioni sfruttando postGIS, così evito di installare ulteriore materiale.

Poi magari se ci serviranno ulteriori servizi installeremo più softwate.
Comment 6 Edoardo Panfili 2011-03-30 18:52:15 CEST
Qualcosa del genere 

SELECT ST_AsText(ST_Transform(ST_GeomFromText('point(X Y)',epsg),4326));

la conversione dobbiamo farla tramite geometry (geographi come dicevamo usa soltanto 4326).
Comment 7 Edoardo Panfili 2011-04-04 17:32:06 CEST
La modifica è stata caricata, prima di chiudere il bug è meglio fare altre prove (e aggiungere altri epsg)

Note You need to log in before you can comment on or make changes to this bug.