[Gfoss] aiuto su sistema di riferimento

beppe beppenapo a gmail.com
Sab 3 Apr 2010 02:12:53 CEST


Perfetto, la vedo veramente dura.
Intanto mi accontento dell'errore e nel frattempo, aspettando che
qualcuno da lassù mi aiuti, cerco di impostare il "contenitore". 
Faccio qualche prova con open layers e i circa 2 km di errore sono
diventati qualche migliaio! Dall'armenia mi ritrovo sulle coste
settentrionali dell'Africa!!! Capisco il clima migliore, ma mi sembra
esagerato.
Questo il mio codice [1], se qualche anima pia gli desse un'occhiata
gliene sarei infinitamente grato...
Considerate che nella pagina web c'è il collegamento a proj4js e alla
definizione della proiezione epsg:32638 (anche se non è quella
giusta!!!): 
Proj4js.defs["EPSG:32638"] = "+proj=utm +zone=38 +ellps=WGS84
+datum=WGS84 +units=m +no_defs ";

grazie ancora

-beppe-

[1]
var zoom=15        
var map; 
function init() {
   var epsg32638= new OpenLayers.Projection("EPSG:32638");
   var epsg900913= new OpenLayers.Projection("EPSG:900913");
   map = new OpenLayers.Map ("map", {
     controls:[
        new OpenLayers.Control.Navigation(),
        new OpenLayers.Control.PanZoomBar(),
        new OpenLayers.Control.LayerSwitcher({activeColor:"green"}),
        new OpenLayers.Control.MousePosition({element: $('location')}),
        new OpenLayers.Control.Attribution()],
     maxExtent: bounds,
     maxResolution: 2.1797578125001564,
     numZoomLevels: 11,
     units: 'm',
     projection: epsg900913,
     displayProjection: new OpenLayers.Projection("EPSG:4326")
            } );
            
  var bounds = new OpenLayers.Bounds(44.532, 40.144, 45.038,
40.423).transform(map.displayProjection, map.projection);
            
 layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
 map.addLayer(layerTilesAtHome);
            
 layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
 map.addLayer(layerMapnik);
                           
 layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
 map.addLayer(layerCycleMap);
                                
        //OpenLayers.Layer.Vector with Protocol.HTTP and Strategy.Fixed
        var wfs = new OpenLayers.Layer.Vector("isoipse", {
                    strategies: [new OpenLayers.Strategy.Fixed()],
                    protocol: new OpenLayers.Protocol.HTTP({
                    url: "../aramus_data/vector/gml/isoipse.gml",
                    projection: epsg32638,
                    format: new OpenLayers.Format.GML()
                    })
                });
         map.addLayer(wfs);
         map.zoomToExtent(bounds);
        }


Il giorno ven, 02/04/2010 alle 19.36 +0200, Francesco P. Lovergine ha
scritto:
> On Fri, Apr 02, 2010 at 05:12:16PM +0200, beppe wrote:
> > Ecco, mi sembrava troppo semplice, e infatti c'è un notevole errore!!!
> > Ho provato a riproiettare il file usando il tool di qgis, prima in
> > epsg:32638, poi in epsg:23038 (come suggeritomi da Diego Guidotti); ho
> > successivamente trasformato entrambi i file ottenuti in kml con ogr2ogr
> > e caricato su google earth; l'errore, in entrambi i casi gli elementi
> > sono traslati verso nord-est di circa 2km.
> > 
> > A questo punto come procedo?
> > Potrei anche spostare tutto a manina, ma non ho un buon modello di
> > riferimento se non le mappe di google earth...insomma, ogni idea è ben
> > accetta
> > Grazie ancora
> > 
> 
> Senza punti correlati nei due datum, e' un ago nel pagliaio. Ci sono
> letteralmente migliaia di datum possibili, neanche tutti pubblicati
> e soprattutto quando si tratta dell'ex-URSS. Ti occorre definire
> una t-pla di valori per la trasformazione rispetto a WGS84 e senza
> punti con la richiesta precisione non ci pensare nemmeno.
> Prova a vedere qui:
> 
> http://www.asprs.org/resources/grids/
> 
> se qualche anima buona ha parlato delle misure usate in zona e magari
> sparando a casaccio ci azzecchi...
> 



Maggiori informazioni sulla lista Gfoss