2017-01-05 4 views
-1

J'ai la carte des états de la parcelle en utilisant D3 et je suis capable de tracer le centroïde de chaque état en utilisant la fonction path.Centroid() mais une fois que je fusionne les états (polygones) .Centroid() ne fonctionne pas. Comment trouver Centroid de Ploygons fusionnés?D3 comment trouver Centroïde de ploygons fusionnés

Référence: here is the link to merged states example

Note: J'ai liste des lat/long pour tous les états centroïde.

+0

Veuillez créer un [mcve] montrant l'échec du calcul du centroïde dans la question. Votre lien est externe, sur une longue période et ne montre pas le problème que vous décrivez. –

Répondre

1

Pour trouver le centre de gravité sur l'exemple «États de fusion:

var mergeTopo = topojson.merge(us, us.objects.states.geometries.filter(function(d) { return selected.has(d.id); })); 
var mergeCentroid = [path.centroid(mergeTopo)]; 

svg.selectAll(".mergedcentroid").data(mergeCentroid) 
     .enter().append("circle") 
     .attr("class", "mergedcentroid") 
     .attr("fill", "black") 
     .attr("stroke", "purple") 
     .attr("stroke-width", 5) 
     .attr("r", 15) 
     .attr("cx", function (d){ return d[0]; }) 
     .attr("cy", function (d){ return d[1]; }); 

Envelopper le barycentre coordonne dans un tableau avant de créer le cercle.

+0

vous êtes le sauveur :) – AnandSonake