У меня проблемы с d3, генерируем карты с отрицательными значениями - PullRequest
0 голосов
/ 07 февраля 2020

У меня проблема с некоторыми полигонами, когда я создаю карту с проекцией d3, некоторые значения были отрицательными, если я изменял эти значения без отрицательного символа, полигоны показывались правильно.

Какая правильная форма для проверки или преобразования всех значений в положительные данные?

Это код:

d3.json("geo/geometry.geojson", function (data) {
        var center = data && data.properties && data.properties.center ? data.properties.center : [-58.43992, -34.618];
        var scale = data && data.properties && data.properties.zoomLevel ? data.properties.zoomLevel : 240;


chart.mapProjection = d3.geo
      .mercator()
      .center(center)
      .translate([chart.w / 2, chart.h / 2])
      .scale(scale * chart.w);

chart.mapPath = d3.geo.path().projection(chart.mapProjection);

А это какой-то полигон с ошибкой :

{"type":"Feature",
        "properties":{
            "place": "Ruta 2",
            "id": 11
        },
        "geometry":{
            "type":"MultiPolygon",
            "coordinates":[[[[-57.654217,-37.900639],[-57.607073,-37.938351],[-57.593671,-37.94529],[-57.59043,-37.941243],[-57.591278,-37.937676],[-57.585941,-37.936529],[-57.583265,-37.944306],[-57.583226,-37.944283],[-57.582754,-37.944115],[-57.581907,-37.944045],[-57.581562,-37.943874],[-57.58139,-37.94387],[-57.580925,-37.943721],[-57.580777,-37.943541],[-57.580555,-37.943416],[-57.580403,-37.943272],[-57.580247,-37.942969],[-57.580048,-37.942937],[-57.579784,-37.942858],[-57.579597,-37.942654],[-57.579456,-37.942521],[-57.579332,-37.942375],[-57.579263,-37.942181],[-57.579173,-37.942037],[-57.579185,-37.941889],[-57.579201,-37.9417],[-57.579233,-37.941539],[-57.579302,-37.941354],[-57.579232,-37.941152],[-57.57899,-37.941114],[-57.578656,-37.940897],[-57.578542,-37.940787],[-57.578334,-37.940752],[-57.578117,-37.940575],[-57.578054,-37.940469],[-57.577748,-37.94058],[-57.577572,-37.940591],[-57.577471,-37.940509],[-57.577424,-37.940405],[-57.577284,-37.940377],[-57.576694,-37.940601],[-57.5765,-37.940552],[-57.576433,-37.940373],[-57.576254,-37.940296],[-57.575614,-37.940175],[-57.575128,-37.94023],[-57.574766,-37.940295],[-57.574543,-37.940404],[-57.574392,-37.940534],[-57.574294,-37.940669],[-57.5742,-37.940746],[-57.574062,-37.940689],[-57.573855,-37.940319],[-57.573751,-37.94028],[-57.573539,-37.940288],[-57.573429,-37.940335],[-57.573203,-37.940238],[-57.573002,-37.940158],[-57.572531,-37.939869],[-57.572227,-37.939784],[-57.572029,-37.939857],[-57.571817,-37.939889],[-57.571533,-37.940049],[-57.570835,-37.940128],[-57.571425,-37.937644],[-57.571702,-37.936668],[-57.573017,-37.932232],[-57.573171,-37.931796],[-57.573049,-37.929634],[-57.572466,-37.927067],[-57.570389,-37.918116],[-57.573264,-37.913701],[-57.568867,-37.91122],[-57.567377,-37.91179],[-57.560916,-37.905726],[-57.558769,-37.907229],[-57.550887,-37.900863],[-57.544543,-37.896188],[-57.54201,-37.885042],[-57.542757,-37.882565],[-57.536097,-37.876722],[-57.541568,-37.873003],[-57.697959,-37.754282],[-57.697582,-37.754229],[-57.697262,-37.75415],[-57.696894,-37.754175],[-57.696575,-37.754266],[-57.696248,-37.754448],[-57.695852,-37.754639],[-57.695541,-37.7547],[-57.6953,-37.754781],[-57.694916,-37.754864],[-57.69467,-37.754779],[-57.694608,-37.754621],[-57.694544,-37.754493],[-57.694352,-37.754366],[-57.694176,-37.75427],[-57.694061,-37.754027],[-57.693837,-37.753721],[-57.693677,-37.753561],[-57.693478,-37.753443],[-57.693181,-37.753459],[-57.692904,-37.753541],[-57.692555,-37.75365],[-57.692067,-37.753656],[-57.691383,-37.753598],[-57.69101,-37.753527],[-57.690958,-37.753506],[-57.690659,-37.753288],[-57.69037,-37.753256],[-57.69005,-37.753315],[-57.689766,-37.753395],[-57.689513,-37.753525],[-57.689315,-37.753677],[-57.689046,-37.753818],[-57.688797,-37.753927],[-57.688608,-37.753998],[-57.688413,-37.753945],[-57.688236,-37.753712],[-57.688074,-37.753694],[-57.687947,-37.753681],[-57.68773,-37.753657],[-57.687467,-37.753537],[-57.687203,-37.753417],[-57.686864,-37.753319],[-57.686539,-37.753255],[-57.686344,-37.753156],[-57.686116,-37.752975],[-57.68592,-37.752844],[-57.685652,-37.752723],[-57.685401,-37.752653],[-57.685165,-37.752631],[-57.684629,-37.752673],[-57.684303,-37.752778],[-57.684116,-37.752664],[-57.683781,-37.75255],[-57.683465,-37.752421],[-57.683182,-37.752466],[-57.682915,-37.752545],[-57.682637,-37.752562],[-57.682574,-37.752445],[-57.682368,-37.752299],[-57.68226,-37.752101],[-57.681999,-37.752121],[-57.681722,-37.752125],[-57.681489,-37.752054],[-57.681382,-37.752011],[-57.681251,-37.751809],[-57.681154,-37.751605],[-57.681164,-37.75146],[-57.681084,-37.751255],[-57.680944,-37.751109],[-57.680742,-37.751037],[-57.68046,-37.75104],[-57.680136,-37.751036],[-57.679758,-37.750983],[-57.679354,-37.75097],[-57.679129,-37.750947],[-57.678897,-37.750864],[-57.678693,-37.750712],[-57.678768,-37.750588],[-57.678829,-37.750446],[-57.678857,-37.750286],[-57.678717,-37.750168],[-57.67842,-37.750019],[-57.678126,-37.74984],[-57.67792,-37.749667],[-57.677773,-37.749452],[-57.677742,-37.749294],[-57.677694,-37.749134],[-57.677643,-37.748988],[-57.677538,-37.748836],[-57.677516,-37.74874],[-57.677514,-37.748629],[-57.677267,-37.748557],[-57.677116,-37.74859],[-57.676956,-37.748681],[-57.67675,-37.748846],[-57.676603,-37.748987],[-57.676447,-37.749065],[-57.676393,-37.74906],[-57.676242,-37.749109],[-57.676117,-37.749096],[-57.675872,-37.749164],[-57.675717,-37.749102],[-57.675503,-37.749135],[-57.675481,-37.74898],[-57.675211,-37.748952],[-57.674945,-37.748798],[-57.674895,-37.748695],[-57.674846,-37.748675],[-57.674712,-37.748549],[-57.674476,-37.748398],[-57.674262,-37.74832],[-57.674116,-37.748249],[-57.673636,-37.748186],[-57.673426,-37.748147],[-57.673252,-37.748063],[-57.67308,-37.747965],[-57.673057,-37.747787],[-57.673197,-37.747664],[-57.673364,-37.747584],[-57.673513,-37.747516],[-57.67365,-37.747418],[-57.673653,-37.747196],[-57.673688,-37.746879],[-57.673776,-37.746563],[-57.673633,-37.746362],[-57.673513,-37.746108],[-57.673299,-37.7458],[-57.673191,-37.745555],[-57.67324,-37.745394],[-57.673294,-37.745288],[-57.673352,-37.745168],[-57.673264,-37.74499],[-57.735856,-37.699552],[-57.739323,-37.702487],[-57.739949,-37.702953],[-57.740309,-37.703046],[-57.740712,-37.703202],[-57.748176,-37.709383],[-57.74821,-37.709401],[-57.824077,-37.77204],[-57.654217,-37.900639]]]]}
        }

Спасибо!

...