Чи є спосіб візуалізації ліній гладкими (безьє) кривими в QGIS?


33

Я переходжу від створення карт з Illustrator до створення їх з QGIS та фактичними даними. Одне з речей, які мені не вдалося створити в QGIS, - це плавні вигнуті лінії, які я можу отримати в Illustrator. Я говорю не про стилі Join і Cap, а про те, як відображається ціла лінія.

Я шукаю відповідь, яка не включає експорт SVG до Illustrator та завершення карти там.

Крім того, я розумію, що їх можна вважати неточним представленням, але, здебільшого, ці карти служать для того, щоб дати вершникам уявлення про те, де вони перебувають, і не обов'язково повинні бути точним поданням.

Ось приклад того, що я маю на увазі: введіть тут опис зображення


2
Як зберігаються ваші дані? Більшість форматів даних (наприклад, файл файлів) не допускають дуг. Я вважаю, що деякі бази даних зараз є.
Даррен Коуп

Відповіді:


24

Ознайомтеся з плагіном Generalizer, він повинен робити те, що ви хочете. У плагіна є варіанти згладжування, які працюють досить добре.

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

введіть тут опис зображення

введіть тут опис зображення


Я не можу знайти цей плагін для QGIS 1.7.3, хоча у мене ввімкнено сторонні репортажі. Чи можете ви показати, як увімкнути / знайти його? Виглядає цікаво і прямо.
SaultDon

3
Дивно. Він повинен бути в програмі для встановлення плагінів, оскільки він надходить з основного репо-плагіна QGIS.
Nathan W

3
Ви маєте рацію, але з інсталятора плагінів Python мені довелося перейти на вкладку параметрів і змінити "Дозволені плагіни" на: "Показати всі плагіни, навіть ті, що позначені як експериментальні".
SaultDon

Я ввечері трохи пограв з цим плагіном, і він насправді спрацював краще для мене, оскільки мені не довелося використовувати шар GRASS і міг просто перетворити свій поточний filefile.
Брайан Келлі

Мені довелося зробити це в два етапи для моєї дуже детальної, але зубчастої оцифрування: спочатку спростити (наприклад, алгоритм Ланга), а потім згладити. Працював частування.
інший бен

16

Використання плагіну QGIS + GRASS:

Додайте панель інструментів «Трава» у вікні «Керування плагінами». додати додаток для трав'яних інструментів до qgis

Ваші лінії повинні бути вектором трави, тому конвертуйте їх у новий або існуючий набір GRASS.

На панелі інструментів GRASS виберіть інструменти GRASS ... введіть тут опис зображення

Шукайте модуль: v.generalize ( навчальний посібник WIKI тут )

Потім можна вибрати кілька різних алгоритмів узагальнення: Інструмент GRASS v.генералізує вибір алгоритмів

Зверніть увагу на алгоритми: Chaiken, Hermite або навіть ковзаюче середнє. Є ще кілька інших!

Відмінності можна побачити на малюнках вікі: v.генералізувати спростити приклад відмінностей

від Wiki: "Зауважте, що різниця між" Chaiken "і" Hermite "полягає в тому, що лінії, створені" Chaiken "," вписують "початкові лінії, тоді як лінії" Hermite "" описують "початкові рядки, як це видно в малюнок [вище]. (Чорна лінія - це оригінальна лінія, зелена лінія - "Чайкен", а синя - "Герміт")


Використання uDig + jgrasstools або трава:

Якщо у вас виникли труднощі отримати бажані результати від v.generalize GRASS, спробуйте останню версію uDig з jgrasstools . Ви також можете схопити банку з травою з того самого місця, що і jgrasstools.

Після того, як uDig встановлений та запущений, запустіть панель просторових інструментів : Вікно> Показати перегляд> Інше ... включити просторовий інструментарій в uDig

Скасуйте панель інструментів для легшої читабельності (клацніть правою кнопкою миші вкладку Просторовий інструментарій> Від'єднати ...): відокремлення просторової панелі інструментів у uDig

Завантажте необхідні модулі jgrasstools та трави (необов'язково): завантаження jgrasstools / трава в удіг

Не забудьте встановити параметри трави (вкажіть виконуваний файл трави або файл bat на Windows, або команду трави в Linux, тобто, / usr / bin / trave), якщо ви також завантажуєте файл jar jar: встановлення параметрів трави в uDig

Нарешті! Використовуючи інструменти jgrasstools (не трава), ви можете легко узагальнити лінію за допомогою векторної обробки> LineSmootherJaiTools Векторна обробка до LineSmootherJaiTools в uDig

Не забудьте правильно встановити введення та вихід (працює лише для Shapefiles, тому не потрібно перетворювати ваші дані у набори / локації для трави) : налаштування вводу та виводу для просторової панелі інструментів у uDig

Після встановлення допуску згладжування (0,0 - 1,0) та введення / виведення натисніть кнопку Відтворити у вікні просторової панелі інструментів (праворуч вгорі): відтворити модуль у просторовій панелі інструментів для uDig

Результати:
uDig спростити результати jgrasstools ...


Чи змінює це вихідні дані чи фільтрує їх таким чином, перш ніж QGIS надає їх?
Брайан Келлі

Ах, на що тут відповіли: "Згладжування (рядка) - це" зворотний "процес, який приймає введення рядка і створює більш плавне наближення до оригіналу. У деяких випадках це досягається, вставляючи нові вершини в початковий рядок, і може становити до 4000% від кількості вершин у оригіналі. У такому випадку, завжди полезно спростити лінію після згладжування. " від trave.osgeo.org/grass64/manuals/html64_user/v.generalize.html
Брайан Келлі

Тож здається, що це щось, що ви, ймовірно, застосуєте, як тільки ви підтвердите, що ваші рядки є правильними і не потребують подальшого редагування (якщо ви не хочете налаштувати всі додаткові вектори та потім згладити його знову)
Брайан Келлі

@spline Так, оскільки вам доведеться працювати з "набором даних трави", який по суті є - НЕ форматом, ви хочете переконатися, що початковий файл форми був повним. Спрощення лінії для усунення зайвих вершин є також варіантом, залежно від того, яка тривалість лінії та кількість вершин, присутніх у кривій Безьє .
SaultDon

О, моє слово, трава для мене не має сенсу ... назви карт, назви місць розташування, база даних, ПОСТІЙНА ... Я намагався "дізнатися", як використовувати цю відповідь (але, мабуть, не знаючи попередніх знань про траву), і невдало провалився. Файли, здається, йдуть туди, де ви найменше очікуєте (тому, мабуть, це не файли?), Я не зміг вибрати перетворений шар у діалоговому вікні узагальнення, нарешті з'ясувавши, як вибрати карту (не те, що я знаю, що мається на увазі під карта) ... кошмар. Виглядає товар, якби я міг це все випрацювати :)
інший бен

1

Є ще один спосіб, можливо, цей спосіб лише з версії QGIS 2.0:

У розділі Обробка> Панель інструментів ви можете отримати доступ до інструментів GRASS та SAGA. Для вирівнювання ви знайдете v.generalize, а також спрощення лінії від SAGA. Ці інструменти працюють на регулярних профілях, тому вектор трави не потрібен:

введіть тут опис зображення

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


1

Під ним розташований алгоритм гладкої геометріїProcessing Toolbox -> QGis geoalghoritms -> Vector .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.