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

25.03.18

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Редактор географических схем.:
.epf 28,86Kb
71
71 Скачать (1 SM) Купить за 1 850 руб.

Платформа 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

См. также

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

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

12000 руб.

02.09.2020    169272    937    403    

905

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12597    99    42    

101

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

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

9360 руб.

17.05.2024    26528    90    48    

134

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

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

22200 руб.

06.10.2023    16825    41    15    

75

SALE! %

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

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

4800 3840 руб.

14.01.2013    190546    1150    0    

918

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

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

15000 руб.

10.11.2023    11392    40    27    

66

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    775    2    0    

4

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

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

5000 руб.

07.02.2018    103926    244    100    

306
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dmbarchenkov 20.09.21 18:42 Сейчас в теме
Попробовал сделать карту Крыма как описании, нарисовал путь - нажимаю "сохранить", выдаёт ошибку при сохранении. Что нетак? У кого получилось?
Прикрепленные файлы:
2. Alxby 1123 21.09.21 10:47 Сейчас в теме
(1) Действительно, на сайте OpenStreetMap.ru появилась эта ошибка. Написал разработчикам, будем ждать исправления.
3. Alxby 1123 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 1123 08.11.21 19:19 Сейчас в теме
(5)Речь идет о редакторе, или об использовании готовой карты?
7. speaker_nd 09.11.21 08:42 Сейчас в теме
Готовой, я уж тут написал, вижу автор много сил отдал этой теме географических схем, а про УФ практически нет никакой информации, даже жалоб что не работает немного, видимо тема не сильно актуальная что бы ее доделывали в 1С
8. Неопределено 91 27.10.23 04:22 Сейчас в теме
Есть ли способ получить готовый контур города, или региона?
9. Alxby 1123 27.10.23 06:45 Сейчас в теме
(8)Не понял вопроса, получить откуда?
10. Неопределено 91 27.10.23 08:27 Сейчас в теме
(9) На OSM из примера, или где-либо ещё. Предположим, что я хочу указать на географической схеме тот же Симферополь, но в качестве полигонального объекта, а не точечного. Для этого мне всегда необходимо вручную рисовать на карте контур города для последующей выгрузки в XML, или я могу каким-либо образом получить готовый полигон?
11. Alxby 1123 27.10.23 08:49 Сейчас в теме
(10) Да, конечно, точку в полигон превратить нельзя. Его нужно нарисовать, или где-то раздобыть список координат нового полигона и вставить в список координат существующей схемы непосредственно в обработке.
Оставьте свое сообщение