Получение полилиний внутри многоугольника - PullRequest
0 голосов
/ 08 марта 2020

Насколько я понимаю, дорога на картах Google - это просто ломаная линия, определяемая двумя координатами. У меня есть то, что я думаю, называется GeoJSON объект, который содержит многоугольник, обозначенный координатами. Примерно так:

{ "type": "Polygon", "coordinates": [ [ [ -99.18203782777724, 19.41138655848177 ], [ -99.18207821061841, 19.411385235435223 ], [ -99.18211859345887, 19.41138391237971 ], [ -99.18217229954912, 19.41129771640372 ], [ -99.18281836026513, 19.410260378156483 ], [ -99.18334680960682, 19.40941189646689 ], [ -99.18341718268485, 19.40929908872516 ], [ -99.18377407635555, 19.408725974544847 ], [ -99.1842766660324, 19.407918887878647 ], [ -99.18414908809605, 19.407875016070705 ], [ -99.18250913471286, 19.407311054834768 ], [ -99.18120954747532, 19.406864128294814 ], [ -99.18070215205267, 19.406687781845125 ], [ -99.180621459197, 19.40670890218962 ], [ -99.18054076632019, 19.4067300224984 ], [ -99.18028848137924, 19.406796054527465 ], [ -99.17966378043319, 19.406825151645055 ], [ -99.17878740320279, 19.40703143744027 ], [ -99.1785393781354, 19.407139891327162 ], [ -99.17797365982572, 19.40747166796296 ], [ -99.17760898455877, 19.407685537303376 ], [ -99.17743789039321, 19.407562529856033 ], [ -99.17732736375932, 19.407678429335242 ], [ -99.17658848127857, 19.408486655455793 ], [ -99.17641778851832, 19.40867504231124 ], [ -99.17582025539072, 19.40933502954438 ], [ -99.17523169830358, 19.409962438803724 ], [ -99.17515421523987, 19.41005409433415 ], [ -99.17425254437649, 19.411062171115905 ], [ -99.17390065213473, 19.411457392395153 ], [ -99.17408215417474, 19.411468709017452 ], [ -99.17416229240264, 19.41146637588914 ], [ -99.17477464735218, 19.411448546741003 ], [ -99.17497891878078, 19.411414146462644 ], [ -99.17531443486303, 19.41139697628401 ], [ -99.17586186932239, 19.411433226776477 ], [ -99.17688064119534, 19.41143193058924 ], [ -99.17749773097404, 19.411402766318993 ], [ -99.1778173959715, 19.411393938757634 ], [ -99.1779231561884, 19.41139186760553 ], [ -99.17803401741658, 19.411362589376616 ], [ -99.17865599294018, 19.41134248436829 ], [ -99.17888756239012, 19.411340946816228 ], [ -99.17936546074904, 19.41140760398169 ], [ -99.17980066016678, 19.41141478333999 ], [ -99.18033419212767, 19.411419942423137 ], [ -99.1807962910527, 19.411424409505287 ], [ -99.1811402792245, 19.41142773405475 ], [ -99.18088507524732, 19.41076332382733 ], [ -99.18110546532225, 19.410946767251502 ], [ -99.1811374076985, 19.410973354684423 ], [ -99.1819024071804, 19.411322184629903 ], [ -99.18203782777724, 19.41138655848177 ] ] ] }

Как я могу получить полилинии, представляющие улицы в этом многоугольнике?

1 Ответ

1 голос
/ 20 марта 2020

Аналогично ваш другой вопрос вы можете использовать Overpass API для загрузки улиц из OpenStreetMap, расположенного внутри границы, определенной с помощью многоугольника .

Пример, основанный на нашем многоугольнике:

[out:xml][timeout:30];
way[highway](poly:"19.41138655848177 -99.18203782777724 19.411385235435223 -99.18207821061841 19.41138391237971 -99.18211859345887 19.41129771640372 -99.18217229954912 19.410260378156483 -99.18281836026513 19.40941189646689 -99.18334680960682 19.40929908872516 -99.18341718268485 19.408725974544847 -99.18377407635555 19.407918887878647 -99.1842766660324 19.407875016070705 -99.18414908809605 19.407311054834768 -99.18250913471286 19.406864128294814 -99.18120954747532 19.406687781845125 -99.18070215205267 19.40670890218962 -99.180621459197 19.4067300224984 -99.18054076632019 19.406796054527465 -99.18028848137924 19.406825151645055 -99.17966378043319 19.40703143744027 -99.17878740320279 19.407139891327162 -99.1785393781354 19.40747166796296 -99.17797365982572 19.407685537303376 -99.17760898455877 19.407562529856033 -99.17743789039321 19.407678429335242 -99.17732736375932 19.408486655455793 -99.17658848127857 19.40867504231124 -99.17641778851832 19.40933502954438 -99.17582025539072 19.409962438803724 -99.17523169830358 19.41005409433415 -99.17515421523987 19.411062171115905 -99.17425254437649 19.411457392395153 -99.17390065213473 19.411468709017452 -99.17408215417474 19.41146637588914 -99.17416229240264 19.411448546741003 -99.17477464735218 19.411414146462644 -99.17497891878078 19.41139697628401 -99.17531443486303 19.411433226776477 -99.17586186932239 19.41143193058924 -99.17688064119534 19.411402766318993 -99.17749773097404 19.411393938757634 -99.1778173959715 19.41139186760553 -99.1779231561884 19.411362589376616 -99.17803401741658 19.41134248436829 -99.17865599294018 19.411340946816228 -99.17888756239012 19.41140760398169 -99.17936546074904 19.41141478333999 -99.17980066016678 19.411419942423137 -99.18033419212767 19.411424409505287 -99.1807962910527 19.41142773405475 -99.1811402792245 19.41076332382733 -99.18088507524732 19.410946767251502 -99.18110546532225 19.410973354684423 -99.1811374076985 19.411322184629903 -99.1819024071804 19.41138655848177 -99.18203782777724");
(._;>;);
out;

Результат можно просмотреть на overpass turbo после нажатия кнопки запуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...