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

25.03.18

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

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

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Редактор географических схем.:
.epf 28,86Kb
69
69
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 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

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

10000 руб.

02.09.2020    140753    772    391    

803

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

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

18000 руб.

06.10.2023    11576    31    6    

61

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

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

5400 руб.

17.05.2024    13928    33    27    

75

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

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

10000 руб.

10.11.2023    7302    27    4    

51

SALE! %

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

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

3600 2880 руб.

14.01.2013    181906    1104    0    

876

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15992    3    12    

39

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

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

5000 руб.

07.02.2018    101137    242    97    

303

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

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

2400 руб.

24.09.2019    24509    17    15    

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