Експлуатація

Примітки

Картографія мереж

swalker_320x213З різних причин довелося нам займатися впорядкуванням експлуатаційної документації, яка залишилася від забудовників та проєктантів. Оскільки, різні проєкти різних часів не збігалися, а інколи й суттєво, то виникла думка об'єднати інформацію, поклавши її на загальну картографічну основу (актуалізувати).

Схеми і натурні зйомки налічували десятки років, та виконувалися в різних стандартах, тому, вирішити, що обрати за основу було для нас неабиякою проблемою. Більшість підземних трас, будівельних майданчиків робилися в місцевих системах координат, похідних від радянських СК42, та СК-63 і не співпадали з GoogleMaps, на яку ми спочатку орієнтувалися. Більше того, бажана точність цифрового носія мала бути трохи кращою за космознімки.

Обміркувавши все, ми прийшли до висновку, що необхідно робити свою топооснову, пов'язуючи її з координатами проєктів, які малися на руках.

Перша спроба зроблена у FreeHand MX, чому свідком є схеми в розділі Підготовка до друку. Але, результат у вигляді растрового файлу, друкованого на ватмані, нас перестав задовільняти майже одразу, тому що вносити правки після уточнень і реконструкцій стало проблемою.

Далі, логічним кроком була цифрування в геоінформаційній програмі. Невдовзі були підготовані шейп-файли (ArcView 3.x), з відокремленням комунікацій електрогосподарства, водогосподарства, каналізації, тепла і зв'язку. Проведена кропітка робота з пошуку і сканування матеріалу, прив'язки та оцифровки його в десктопній ГІС, після чого, зрозуміло, - звірка в натурі.

Карта вийшла досить насиченою. Бажання показати її в окремих шарах, які можна увімкнути-вимкнути, спонукала на пошук веб-сервісу, бажано локального і з вільним доступом. Різні спроби привели до безплатної програми TileMill, яка вирішила першу частину задачі, а саме - об'єднала шейпи в одну таблицю формату МВTiles, стилізовану за допомоги таблиці CartoCSS, яка туди вбудована. Такий підхід сприяв збереженню карти в мобільному сховищі, та можливості оперативно внести корективи, коли це необхідно.

Наступним кроком стало розв'язання проблеми з показу на моніторі результату так, щоби ними могли скористатися експлуатаційні підрозділи. Для цього був придбаний домен (бо турбувати місцевого адміністратора байками нефахових програмістів, та ще й з невідомим результатом, здавалося на той момент некоректним). Після чергових пошуків ми знайшли цікавий скрипт РНР, який лежав на GitHub під назвою TileServer. Цей чудовий скрипт читав таблиці МВTiles для кожного шару і генерував з них фрагменти (tiles) PNG розміром 256*256рх на льоту.

Лишилося останнє - зібрати все у браузері. Для цього є кілька варіантів JS, але з несуттєвою різницею: Leaflet, або OpenLayers. Кожен з них добре документований, має прихильників та форки на тому ж GitHub.
Результат:

Знавці одразу впізнають Leaflet. Це чудовий і легкий скрипт, ми зупинилися на ньому заради простого меню для перемикання шарів (switcher). Варіантів світчера існує багато, інколи з функціоналом, який поки не потрібен і лише час покаже, куди рухатися далі.

Підсумок:

Маємо карту комунікацій, яка масштабується і зображає у браузері інформацію з сервера по HTTP. База обробляється серверним скриптом і міститься в одному файлі без окремих залежностей. Карта-схема допомагає в прийнятті керівних рішень, проведенні ремонтів і слугує єдиним джерелом оперативної інформації, а не матеріалом, який розпорошений по архівах міських служб, та шафах університету.
Вся інформація на цифровому носії не входить у перелік відомостей, які містять службову інформацію згідно наказу Державного геокадастру №212 від 2015р.

Особливості:

Створення карти, та уточнення робилося при наявних технічних й організаційних можливостях, тому не має окремого замовника і не пов'язане з будь-яким фінансуванням. Оскільки, виконавці не мали на меті комерційного інтересу, а лише практичний в рамках підприємства, то вони не обмежують себе зобов'язаннями у виконанні стандартів НДІ геодезії та картографії в повному обсязі.

На майбутнє:

В документації Leaflet є посилання на приклади прямого звертання до таблиці MBTiles, а це означає, що все може компактно розміститися без застосування серверного сценарію PHP і обійдеться лише JS. В будь-якому разі, потрібно перевірити цей варіант.

Можливо, що весь напрацьований матеріал буде переміщений у хмарний сервіс, якщо знайдеться зручний доступ і безоплатний тайловий сервер. Для цього теж є варіанти типу Gisfile.com, або могутній MapBox. Потрібні зусилля для вивчення цих напрямків, і коли вони зійдуться з потребами, ми займемось хмарами окремо.

Ідеї та матеріали для роботи запозичені:

TileMillпрограма для стилізації окремих шарів карти і їх упаковки в МВTiles
TileServerсерверний скрипт генерації тайлів з таблиці МВTiles
Leafletбібліотека JavaScript з відкритим кодом для показу карт на html-сторінках