1

РБ разбитая на геозоны

Тема: РБ разбитая на геозоны

Добрый день, хотелось бы разбить РБ на районы и областные города (Бобруйск, Барановичи и т.д.)
Может быть есть готовые шаблоны?

2

РБ разбитая на геозоны

(29/10/2019 10:13:17 отредактировано rual)

Re: РБ разбитая на геозоны

Такие данные обычно есть в открытом доступе.

Например, области — http://opendata.by/node/464 .

Скачиваем файл, берём координаты, они там в виде:

[23.1783874,52.2832376],[23.1924147,52.3011729],[23.1987139,52.3089825],[23.1999195,52.31041],[23.2018968,52.3128937], ...

Если не хотим заморачиваться с API, создаём геозону-полигон с нужными настройками и тремя точками, экспортируем, открываем файл, там:

+ resource.wlp
{
  "mu": 0,
  "type": "avl_resource",
  "version": "b4",
  "zones": [
    {
      "b": {
        "cen_x": 27.5192686901,
        "cen_y": 53.9458403022,
        "max_x": 27.5398680554,
        "max_y": 53.9514980525,
        "min_x": 27.4986693249,
        "min_y": 53.9401825519
      },
      "c": 2568583984,
      "ct": 1572331445,
      "d": "Минск, Дрозды проезд",
      "f": 112,
      "i": 4294967295,
      "id": 24,
      "libId": 0,
      "max": 18,
      "min": 0,
      "mt": 1572331445,
      "n": "Имя геозоны",
      "p": [
        { "r": 0, "x": 27.4986693249, "y": 53.9470530434 },
        { "r": 0, "x": 27.5398680554, "y": 53.9514980525 },
        { "r": 0, "x": 27.5330016003, "y": 53.9401825519 }
      ],
      "path": "",
      "rid": 6,
      "t": 2,
      "tc": 16733440,
      "ts": 12,
      "w": 0
    }
  ]
}

Видим, что координаты в виде:

      "p": [
        { "r": 0, "x": 27.4986693249, "y": 53.9470530434 },
        { "r": 0, "x": 27.5398680554, "y": 53.9514980525 },
        { "r": 0, "x": 27.5330016003, "y": 53.9401825519 }
      ],

Координаты с того csv в JSON-формате, поэтому в консоли браузера пишем:

var coordinates = [[23.1783874,52.2832376],[23.1924147,52.3011729], ... ];

copy(JSON.stringify(coordinates.map(([lon, lat]) => ({ r: 0, x: lon, y: lat }))));

В буфере обмена у нас получаются координаты в нужном формате, заменяем ими значение параметра "p", сохраняем wlp.

Импортируем обратно, получаем Брестсткую область:

РБ разбитая на геозоны

Так же можно повторить для остальных строк файла (районы тоже есть — http://opendata.by/node/466 , но их много, руками каждый файл уже не получится делать, придётся сам файл программно обрабатывать и генерировать одну WLP со всеми ними).

  • РБ разбитая на геозоны
3

РБ разбитая на геозоны

Re: РБ разбитая на геозоны

antelis

Вы можете найти готовые kml файлы с областями и районами Беларуси например здесь https://gadm.org/download_country_v3.html

Можно также поискать выгрузки подобных данных из OpenStreetMap. К примеру есть следующий сервис, для создания выгрузок из OSM - https://export.hotosm.org

Sergey Haritonov, Gurtam Maps Specialist