From 19e1c47e532cc210775600b6ca39cb600ff70290 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 28 Sep 2015 15:51:21 -0400 Subject: [PATCH] Use LineString when calculating perimeter (closes #2789) --- js/id/ui/info.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/js/id/ui/info.js b/js/id/ui/info.js index 10b5320bd..7bb9afc74 100644 --- a/js/id/ui/info.js +++ b/js/id/ui/info.js @@ -121,7 +121,9 @@ iD.ui.Info = function(context) { if (geometry === 'line' || geometry === 'area') { var closed = (entity.type === 'relation') || (entity.isClosed() && !entity.isDegenerate()), feature = entity.asGeoJSON(resolver), - length = radiansToMeters(d3.geo.length(feature)), + lineFeature = (feature.type === 'LineString') ? feature : + { type: 'LineString', coordinates: feature.coordinates[0] }, + length = radiansToMeters(d3.geo.length(lineFeature)), lengthLabel = t('infobox.' + (closed ? 'perimeter' : 'length')), centroid = d3.geo.centroid(feature);