Клуб Народной карты

Извлечение координат контура

Всем привет! Друзья, недавно у меня возникла необходимость получить координаты точек, описывающих контур некоторой административной области. Так как извлекать эти координаты в массив по отдельным точкам задача, мягко говоря, сложная, возник соответственный вопрос: можно ли автоматизированным некоторым путем (например, через API карт), извлечь массив точек, описывающих некоторый геометрический объект на карте?

5 комментариев
Теоретически можно через F12 (режим разработки) в браузере. Завтра попробую.
Можно в инструментах разработчика (F12) открыть вкладку (Network) и после этого открыть сам объект в редакторе НЯК. В одной из записи в логе могут быть координаты. На всякий случай лучше перезагрузить страницу перед этим.
Котик,
100% взять не получится при малом зуме контур упрощается и часть точек просто выкидывается......
хотя ошибаюсь. если взять по id объекта то можно
Обновлено 21 августа 2019, 17:59
dspos Дмитрий
24 августа 2019, 12:40
Вопрос. А с какой целью нужен этот массив?
Если это разовая задача, то можно один раз и заморочиться.
А если ведется массовый сбор координат по многочисленным объектам, то вопрос: зачем? Не для стороннего ли ресурса...? 
Проблема решена с помощью API Openstreetmaps. 
Что касается решение через F12 во вкладке Network - там сервер передает так называемые batch-файлы, в которых содержатся координаты только центров некоторых областей, отображаемые в данный момент на карте пользователю. Вообще говоря, Яндекс, как и пожалуй все другие поставщики услуг в части онлайн карт, не возвращают координаты каких-то больших вещей на клиент, а рендерят их на своих серверах и возвращают клиенту только тайлы в виде маски, и такой подход очевидно же вполне логичен, не отрисовывать же это все на клиенте; например, если уж речь зашла про координаты многоугольника области, то в данном случае сервер возвращает response в виде множества прозрачных тайлов, на которых нанесены фрагменты нашего контура, после чего эти тайлы-маски просто накладываются на тайлы собственно самой карты.


Что касается подозрений dspos, задача разовая, необходимы координаты одного района, никакого массового сбора))


Вот решение:


const url = 'https://nominatim.openstreetmap.org/search',
const query = {
     q: 'название интересуемой области',
     format: 'json', 
     polygon_geojson: 1
}

$.getJSON(url, query).then((res) => {

    // в res лежат наши координаты
});


Подводя итог, с помощью сервисов Яндекса получить такую информацию из открытого доступа скорее всего невозможно. 
Как то так, если вкратце. Всем спасибо за участие))
Обновлено 24 августа 2019, 13:13