Я намагаюся використовувати QGIS 2.14, щоб підключити дорожню мережу до шестикутної сітки, але я отримую дивні артефакти.
Я створив шестигранну сітку з MMQGIS , осередки розміром приблизно 20 х 23 м. Я забудував дорожню мережу на 1 м і ущільнив її, щоб на кожному метрі був вузол. Нижче ви бачите, чого я намагаюся досягти. Як бачите, я можу змусити його працювати в деяких випадках: -
- синій колір - ущільнена дорога (буферна лінія)
- червоний - це «шестигранна» версія - ось що я хочу знайти
- сірий - це шестигранна сітка
Потім я використав нову функцію геометрії Snap, щоб прив’язати вузли до найближчого шестикутника. Результати є багатообіцяючими, але, мабуть, є деякі крайні випадки, коли лінія розширюється, щоб заповнити шестикутник (або його частину): -
Причина буфера полягає в тому, що геометричні елементи Snap не дозволяють вам прив’язатись до шару, геометрія якого відрізняється. Наприклад, не можна прив'язувати вузли на шарі LINE до точок на шарі POINT). Здається, це найщасливіше прив’язати ПОЛІГОН до ПОЛІГОН.
Я підозрюю, що дороги розширюються, коли одна сторона захищеної лінії дороги стрибає на одну сторону шестигранної комірки, а інша сторона переходить на іншу сторону шестигранної комірки. На моєму прикладі дороги, які під гострим кутом перетинають захід-схід, здаються найгіршими.
Те, що я намагався, без успіху: -
- буферизація дорожньої мережі невеликою кількістю, тому вона залишається багатокутником, але дуже тонка.
- ущільнення шістнадцяткових клітин (тому уздовж країв є вузли, а не лише на кутах)
- варіювання максимальної відстані оснащення (це має найбільший ефект, але я не можу знайти ідеальне значення)
- використовуючи шари LINE, а не ПОЛІГОНИ
Я вважаю, що якщо я перейду до використання лише шарів LINE, він працює деякий час, а потім виходить з ладу. Здається, це врятує її роботу - деякі рядки були частково оброблені.
Хтось знає про будь-який інший спосіб прив’язати точки на лінії до найближчої точки на іншому шарі лінії / полігону, в ідеалі без необхідності використовувати postgres / postgis (хоча рішення з postgis також вітається)?
EDIT
Для всіх, хто хотів би поїхати, я поставив тут проект для запуску QGIS на Dropbox . Сюди входять шари шестигранної сітки та ущільнені лінії. (Дорожня мережа створена з ОСМ, тому її можна завантажити за допомогою QuickOSM, наприклад, якщо вам потрібно отримати оригінал для несанкціонованого руху доріг).
Зауважте, що це в OSGB (epsg: 27700), який є локалізованим UTM для Великобританії, з одиницями в метрах.