Ich versuche, ein GeoJSON Polygon auf einer Karte anzuzeigen. Ich habe das Beispiel von Openlayers mit den folgenden Daten zur Verfügung gestellt verwendet, aber nur das zweite Polygon angezeigt:GeoJSON Feature-Koordinaten, die nicht auf OpenLayers-Karte angezeigt werden
var geojsonObject = {
"type": "FeatureCollection",
"crs": {
"type": "name",
},
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[[103.92240800000013,21.69931],[100.93664,21.66959500000013],[108.031899,18.67076]]]
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[[-5e6, -1e6], [-4e6, 1e6], [-3e6, -1e6]]]
}
}
]
};
Der Code Ich bin mit dem GeoJSON zu analysieren und fügen Sie die Karte ist als folgt:
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(geojsonObject)
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: styleFunction
});
Ich bemerkte verschiedene Arten von Koordinaten. Im zweiten Satz werden die Koordinaten wie [-5e6, -1e6]
mit dem e
dargestellt, was ich nicht verstehe und im ersten Satz - die nicht funktionieren - sehen sie aus wie [103.92240800000013, 21.69931]
.
Ist dies ein möglicher Grund, warum mein Polygon nicht angezeigt wird?
5e6 steht für 5 x 10^6 - oder 5000000. Siehe https://en.wikipedia.org/wiki/Scientific_notation – Sander
Sicher, gute Idee muss das sein. Ich werde meinen ersten Beitrag aktualisieren – Kamzz
Der zweite Bereich ist etwa 2.000.000 x 2.000.000 Einheiten - der erste 4 x 8 Einheiten. Wenn beide Funktionen auf derselben Karte angezeigt werden, erscheint die erste im besten Fall sehr klein (und möglicherweise durch die große versteckt). Was passiert, wenn Sie den großen Bereich aus dem Code entfernen? – Sander