Mehr

Konvertieren Sie Lon Lat in XY in Openlayers 3


Ich habe eine Karte, die Points of Interest aus einer Datenbank abruft und anzeigt, aber der Lon Lat muss in XY umgewandelt werden, um richtig platziert zu werden. Derzeit erscheinen alle nur bei O, O und ich glaube, sie wurden in Dezimalgrad umgewandelt.

Ich habe versucht, ol.proj.transform zu verwenden, aber dies gibt undefiniert zurück. Muss ich eine Berechnung erstellen, um diese umzuwandeln, oder gibt es eine Methode dafür? Das Ergebnis dieser Funktion wird an einen Vektor-Layer zurückgegeben, der die Features auf eine Karte lädt, wenn auch an der falschen Position.

Es gibt viele Beispiele, die Openlayers 2 verwenden, aber die Syntax ist völlig anders. Mein nicht funktionierendes Beispiel ist unten:

/* Konvertierung der Funktionen */ function wsToCollection(routeData) { //console.log(routeData); var fc = neues Objekt; fc.type = "FeatureCollection"; fc.features = []; for (var i = 0; i < routeData.Points.length; i++) { var feature = neues Objekt; feature.type = "Feature"; //konsole.log(Funktion); feature.geometry = neues Objekt; feature.geometry.type = "Punkt"; feature.geometry.coordinates = []; var Lon = routeData.Points[i].Longitude; //var LonTrans = ol.proj.transform(Lon, 'EPSG:3857', 'EPSG:4326'); // funktioniert nicht console.log(LonTrans); var Lat = routeData.Points[i].Latitude; //var LatTrans = Lat.transform('EPSG:3857', 'EPSG:4326'); // funktioniert auch nicht feature.geometry.coordinates[0] = routeData.Points[i].Longitude; feature.geometry.coordinates[1] = routeData.Points[i].Latitude; feature.properties = neues Objekt; feature.properties.name = routeData.Points[i].Description; feature.properties.Guid = routeData.Points[i].Guid; feature.properties.LongId = routeData.Points[i].LongId; fc.features.push(Funktion); } fc zurückgeben; }

Wenn Sie transformieren, transformieren Sie immer ein Paar von Punkten:

ol.proj.transform([23.4, 42.5], 'EPSG:4326','EPSG:3857');

(dies wandelt sich von EPSG 4326 in EPSG 3857 um; die Koordinaten sind [lon, lat])


Ich habe auch nach dieser Funktion gesucht und sie in einigen Beispielen auf ihrer Website gefunden.

Sie können verwendenol.proj.fromLonLat([19.062072, 47.473478]).

http://openlayers.org/en/v3.13.1/apidoc/ol.proj.html#.fromLonLat


Schau das Video: GIS Convert Latitude and Longitude To Northing Easting. XY Coordinate using offline sotware (Oktober 2021).