Редактор географических схем

25.03.18

Разработка - Инструментарий разработчика

Редактор географических схем 1С (*.geo). Работа со слоями, объектами, сериями значений. Импорт данных из OpenStreetMap.ru. Рассмотрены основные особенности структуры географической схемы, приведены примеры использования редактора для решения практических задач.

Скачать файлы

Наименование Файл Версия Размер
Редактор географических схем.:
.epf 28,86Kb
68
.epf 28,86Kb 68 Скачать

Платформа 1С содержит в себе довольно интересный механизм: Географическая схема. Его применение в ряде случаев позволяет представить аналитическую отчетность в более наглядном виде. Однако, на мой взгляд, использование этого механизма ограничено малым количеством доступных карт. От разработчиков платформы доступны только три карты, созданные больше 10 лет назад: карта мира, карта России со столицами и карта России с городами. Еще несколько карт можно найти на Инфостарте. В платформе имеется свой редактор, но его использование во многом основано на импорте shape-файлов, созданных с помощью программ семейства ESRI ArcGIS, что требует от разработчика определенных навыков и затрат. Хочу предложить свой инструмент, появление которого явилось результатом решения практической задачи по обновлению карты России. Редактор предназначен для толстого клиента. Тестировался на платформе 8.3.11.2867, но должен работать и на 8.3.10

Немного о структуре географической схемы.

Географическая схема представляет собой совокупность слоев. Каждый слой содержит в себе объекты и серии. Слой может содержать объекты только одного из четырех типов:

  • ТочечныйОбъектГеографическойСхемы, 
  • МноготочечныйОбъектГеографическойСхемы, 
  • ПолилинейныйОбъектГеографическойСхемы, 
  • ПолигональныйОбъектГеографическойСхемы.

Серия - это некоторый атрибут объекта слоя. Совокупность значений атрибутов-серий объектов позволяет строить аналитические диаграммы по объектам географической схемы.

Рассмотрим структуру и особенности схемы более подробно на примере стандартной карты РоссияРегионыИСтолицы.geo.

Каждая карта изображена в какой-либо географической проекции. Для некоторых проекций имеет значение смещение широты и долготы. Здесь и далее параметр "Ограничивающий прямоугольник" показывает географические координаты места, занимаемого картой или объектом карты. В схеме существуют два слоя: точечный "ГОРОДА" и полигональный "РЕГИОНЫ". Каждый слой может быть сделан невидимым. Не совсем очевидно использование масштаба: для каждого слоя задается масштабный диапазон, слой будет отображен на схеме, только если масштаб схемы попадает в указанный диапазон. После некоторой доработки это позволит организовать отображение карты с различной детализацией, например с точностью до федеральных округов или областей. 

Точечный слой "ГОРОДА".

Слой содержит набор точек, заданных своими географическими координатами. Каждая точка может быть представлена на карте в виде маркера (кнопки, знака вопроса, круга, квадрата), в виде произвольного символа или картинки. Небольшой лайфхак: для определения координат точки в некоторых случаях могут помочь координаты ограничивающего прямоугольника.

Полигональный слой "РЕГИОНЫ".

Слой содержит набор объектов - регионов России. Каждый объект представляет собой набор замкнутых областей, заданных координатами контуров. Для удобства работы, редактирования и копирования список координат сделан в виде текстового поля.

Хочу отметить следующую особенность: так как списки географических координат (контуров полигонов, сегментов полилиний, набора точек) реализованы в виде простого текстового поля, то эти списки и их части легко копировать и переносить как между объектами этой схемы, так и в/из сторонние программы - текстовые редакторы, Excel, etc. Но все же вручную составлять список координат неудобно, поэтому возникла идея импортировать этот список из более удобного инструмента. После непродолжительных поисков был найден сервис  OpenStreetMap.ru (не путать с OpenStreetMap.org) Он позволяет без регистрации создавать свои географические объекты и сохранять результат в виде XML-файла. Остальное дело техники - полученный файл можно импортировать в редактор.

Каждый слой содержит свой набор серий:

В параметре "Тип отображения" задается способ отображения серий на карте: в виде текста, гистограммы, круговой диаграммы и т.п. Для некоторых типов отображения, например для гистограммы, происходит объединение нескольких серий с одинаковым типом в одну гистограмму, каждая серия станет отдельным "столбиком".

На пересечении серии и объекта устанавливается значение:

После установки значения происходит отображение его на карте (если это разрешено установкой соответствующих свойств).

 

Далее хочу рассмотреть варианты решения практических задач с помощью редактора.

Пример1: Объединение Камчатской области и Корякского автономного округа в Камчатский край (произошло в 2007)

Для дальнейшей работы необходимо определить общую границу двух областей. Для этого создадим отдельный слой - многоточечный, скопируем координаты контура одной из областей, и, после небольших усилий, получим:

Удалив найденные общие участки границ, получим

Осталось объединить оставшиеся границы, поместить результат в одну из областей и удалить другую:

 

Пример 2: Добавление Республики Крым и ее столицы - г. Симферополь

Для создания новых объектов воспользуемся сервисом OpenStreetMap.ru.

В разделе "Персональная карта" добавим новый путь - границу региона и маркер - положение города Симферополь.

Сохранив изменения, получим возможность скачать GPX - файл формата XML, содержащий наши данные.

Далее добавляем новый объект в слой "РЕГИОНЫ", импортируем полученный файл - добавится новый контур с координатами границ. Переключаемся на слой "ГОРОДА" и импортируем этот же файл - добавится новая точка - город Симферополь.

После импорта мы можем увидеть контур региона "повернутый" относительно привычного изображения. Это можно откорректировать выбором типа проекции карты и подбором смещения широты и долготы карты.

Пример 3: Добавим гистограммы с данными о численности населения в регионах

На слое "РЕГИОНЫ" в списке серий добавим 4 строки - это будут "столбики" гистограммы.

Ключевой момент: необходимо установить одинаковый тип отображения - "гистограмма".

Далее на странице со значениями необходимо заполнить появившиеся колонки:

и проверить результат

Подводя итог, отметим, что предлагаемый инструмент конечно же не заменит специализированное картографическое ПО, но тем не менее способен решать ряд задач, могущих возникнуть в процессе разработки систем на платформе 1С.

PS: Как всегда, в комментариях приветствуются сообщения об ошибках и предложения по усовершенствованию. 

 

 

Географическая схема Географическая карта *.geo редактор OpenStreetMap

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122118    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7288    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3524    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177738    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99345    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18108    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28107    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23601    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dmbarchenkov 20.09.21 18:42 Сейчас в теме
Попробовал сделать карту Крыма как описании, нарисовал путь - нажимаю "сохранить", выдаёт ошибку при сохранении. Что нетак? У кого получилось?
Прикрепленные файлы:
2. Alxby 1136 21.09.21 10:47 Сейчас в теме
(1) Действительно, на сайте OpenStreetMap.ru появилась эта ошибка. Написал разработчикам, будем ждать исправления.
3. Alxby 1136 21.09.21 11:09 Сейчас в теме
(1)На всякий случай высылаю координаты контура Крыма. Может пригодится.
Прикрепленные файлы:
Координаты контура Крыма.txt
4. dmbarchenkov 21.09.21 13:08 Сейчас в теме
5. speaker_nd 08.11.21 16:10 Сейчас в теме
На обычных формах для 8.2 все красиво и выделять области можно и расшифровка работает, как только перевожу все это дело на управляемые формы - все ломается...работает только отображение карты и все...еще 1С не доделали?
6. Alxby 1136 08.11.21 19:19 Сейчас в теме
(5)Речь идет о редакторе, или об использовании готовой карты?
7. speaker_nd 09.11.21 08:42 Сейчас в теме
Готовой, я уж тут написал, вижу автор много сил отдал этой теме географических схем, а про УФ практически нет никакой информации, даже жалоб что не работает немного, видимо тема не сильно актуальная что бы ее доделывали в 1С
8. Неопределено 90 27.10.23 04:22 Сейчас в теме
Есть ли способ получить готовый контур города, или региона?
9. Alxby 1136 27.10.23 06:45 Сейчас в теме
(8)Не понял вопроса, получить откуда?
10. Неопределено 90 27.10.23 08:27 Сейчас в теме
(9) На OSM из примера, или где-либо ещё. Предположим, что я хочу указать на географической схеме тот же Симферополь, но в качестве полигонального объекта, а не точечного. Для этого мне всегда необходимо вручную рисовать на карте контур города для последующей выгрузки в XML, или я могу каким-либо образом получить готовый полигон?
11. Alxby 1136 27.10.23 08:49 Сейчас в теме
(10) Да, конечно, точку в полигон превратить нельзя. Его нужно нарисовать, или где-то раздобыть список координат нового полигона и вставить в список координат существующей схемы непосредственно в обработке.
Оставьте свое сообщение