Ich habe ein GeoJSON-Datensatz, der Punkte und Polygone hat. Ich habe eine einfache Leaflet-Code, der sie in eine Karte liest, wie folgt aus:Konvertieren GeoJSON Polygon zu Punkt vor dem Zeichnen in Leaflet Map
var MyLayer = new L.GeoJSON.AJAX("/UrbanSyntax/Desarrollo/twitter /data/boxtest.json", {
pointToLayer: function(feature, latlng) {
return new L.CircleMarker(latlng, {
radius: 3,
fillOpacity: 0.75,
color: getColor(feature.properties.created_at)
});
},
onEachFeature: function(feature, layer) {
layer.bindPopup(
feature.properties.created_at + '<br />'
+ feature.geometry.coordinates + '<br />'
+ feature.properties.user )
}
});
Die meisten Daten sind Polygone, aber ich brauche sie, um Punkte (das Polygon Mitte) zu übersetzen, die Karte zu vereinfachen. Ich möchte das ursprüngliche GeoJSON nicht ändern, wenn es geparst wird, da diese Polygone möglicherweise später benötigt werden.
Ich weiß nicht, wo man Code "einspeist", um die Polygongrenzen zu lesen, ein Zentrum zu berechnen und ein latlng zu senden, um einen circemarker zu machen. Wie es jetzt ist, liest der Code die Punkte und Polygone in der JSON-OK, aber es gibt zu viele Polygone in den Daten, so dass der Browser einfriert. Es funktioniert in Ordnung, wenn ich die Polys aus dem JSON herausfiltern und nur die Punkte zuordnen. Ich habe keine Ideen mehr, und Leaflet Dokumentation ist so knapp in der JSON-Kapitel ... Ich brauche nur eine Möglichkeit, eine wenn im PointToLayer-Code, trennen Sie die Punkte von den Polys, und ordnen Sie alle als Punkte.
Vielen Dank im Voraus!
Irgendwelche Ideen?
ich feststellen, dass Sie haben [Quer gepostet] (http://gis.stackexchange.com/q/224589/80308) auf gis.stackexchange.com . Cross-Posting ist [verpönt] (http://meta.stackexchange.com/a/64069/338149). – cartant
Oops Community Noobishness, sorry! –