Normalizacja współrzędnych geograficznych do współrzędnych geometrycznych

0

Podczas zapytania do API otrzymuję json'a zawierajacego współrzędne geograficzne określające daną jednostkę administracyjną
Mają one postać:

{"data":{"type":"MultiPolygon","coordinates":[[[[19.912351871580437,50.061307528985644],[19.912391629047903,50.06140851478965],[19.912441040635812,50.06152730414185],[19.912554977547924,50.06181303658916],[19.912782617319095,50.062382702686044],[19.912896717434705,50.06266753829552],[19.91301108527193,50.062953005055036],[19.91312657854221,50.06323812275652],[19.913252948523244,50.0635427642997],[19.913355020901385,50.06380995315195],[19.91346993522739,50.06409623293074],[19.91358306648033,50.06438105923244],[19.913697002559356,50.06466742023886],[19.91375238463676,50.06480658484032],[19.913967083105273,50.06476912211305],[19.914459036696478,50.064695050371675],[19.91472912636713,50.06465405671362],[19.91472421054003,50.064630454421646],[19.914732860623484,50.06461237275409],[19.914752766746826,50.06459682406288],[19.914779663165987,50.064587185191485],[19.91480989527837,50.06458449978321],[19.91484216016983,50.06459073581982],[19.914865199323074,50.064603450322615],[19.914878879251955,50.064622459014025],[19.91487978577037,50.06463793275462],[19.914946997923312,50.06463064903846],[19.91532660039559,50.06531412060249],[19.916181477056742,50.06511494695444],[19.916579028350718,50.06502119205973],[19.916673813460893,50.06499905892776],[19.916869145245794,50.06495313828272],[19.917257072517142,50.06485866175462],[19.917700848504133,50.06475895066284],[19.918131785388656,50.064658669159385],[19.91851493740423,50.06457142726537],[19.918522522445244,50.0645695201887],[19.9186653442124,50.06453542543439],[19.918917799498367,50.064477175160135],[19.91930252457793,50.0621751114317],[19.919260303340312,50.06217058211943],[19.91927770435627,50.062067522936424],[19.91927549153772,50.062047902117364],[19.9193216846074,50.0618133875979],[19.91936394741289,50.06181593994808],[19.919391358311675,50.06164652788662],[19.919415082977313,50.06149821296005],[19.91956779917375,50.0605817093273],[19.919615321510204,50.06031277109787],[19.919615980575674,50.0603082818401],[19.919645837525877,50.06010454615492],[19.9187450227597,50.06024559377222],[19.91834799338808,50.06031184693038],[19.918350607381708,50.06031978397244],[19.917934905281204,50.06039656133059],[19.917932631711853,50.060416860035396],[19.91772190445232,50.06042784261079],[19.917702299565747,50.06040527244561],[19.91728486494786,50.06047205126077],[19.91686761941092,50.060536492392124],[19.916450075354177,50.060601827765296],[19.916033243313873,50.06066644976008],[19.91561558601901,50.06073043258923],[19.91519651198593,50.060795301376885],[19.91480824242801,50.060856678001514],[19.914420297393857,50.06091598958722],[19.91403106448729,50.060976637051645],[19.913631059351612,50.06103808055098],[19.91362976541709,50.06104589101209],[19.91357680781329,50.061053038394824],[19.913570231459794,50.061047402342275],[19.91272884309511,50.06117781034606],[19.912440362671802,50.061223750108006],[19.91232586664504,50.061240749985934],[19.912351871580437,50.061307528985644]],[[19.916387495390772,50.06496671512531],[19.91645085024244,50.06495085190277],[19.916477048991386,50.064996952755045],[19.9164127314871,50.06501217671811],[19.916387495390772,50.06496671512531]],[[19.916711813810576,50.06468867325365],[19.916810432359835,50.064663699114604],[19.916843989355073,50.064718050362046],[19.916743412538825,50.064743095775945],[19.916711813810576,50.06468867325365]],[[19.918994745649336,50.06172483570774],[19.91909891653394,50.06173218993375],[19.919087780516534,50.06179889176087],[19.91897648153597,50.061791742408545],[19.918994745649336,50.06172483570774]]]]}}

Prezentacja zawartości data.coordinates w takiej postaci generuje obiekt (svg) w bardzo małym rozmiarze. Użycie scale nie wchodzi w grę, gdyż otrzymanych obiektów jest wiecej i po przeskalowaniu ich zaczynają nachodzić na siebie i się zasłaniać.
Próbowałem również wszystkie ścieżki pogrupować w element g i na nim wykonać scale jednak mimo wszystko efekt nie jest zadowalający (przy powiększeniu które mnie satysfakcjonuje, gubię dużo danych (są ucinane))

Pytanie - jak można te współrzędne przekonwertować do układu współrzędnych geometrycznych? Dodam, że próbowałem też mnożyć przez 10^n, ale znaczące zmiany są dopiero na 4-5 miejscu po przecinku, przez co liczby stają się strasznie duże.

Na stronie, która udostępnia to API, dane tego kształtu opisywane są w następujący sposób:

<path d="M-1299 -1058L-1169 -1566L-1078 -1544L-1076 -1536L-1073 -1534L-1067 -1535L-1065 -1537L-1064 -1542L-1057 -1541L-1022 -1640L-687 -1518L-651 -1184L-655 -1184L-654 -1166L-650 -1132L-646 -1132L-619 -884L-740 -914L-779 -926L-779 -929L-799 -931L-801 -927L-1302 -1049zM-923 -1590L-917 -1587L-915 -1594L-921 -1596zM-893 -1549L-884 -1546L-881 -1553L-890 -1557zM-680 -1119L-670 -1120L-671 -1130L-682 -1129z"></path>

Czy ma ktoś jakikolwiek pomysł, jak ze współrzędnych geograficznych otrzymać coś podobnego jak wyżej?

2

json'a

w formacie GeoJSON w sensie?

może to ci się przyda
https://macwright.com/2015/03/23/geojson-second-bite.html#projections

może nie daje to gotowej recepty, ale może cię naprowadzić na dalsze hasła do szukania w necie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1