Розміщення номерів висоти на контурах з орієнтацією на гори та положення в QGIS?


20

Я хочу зорієнтувати мітки на висоту в гору.

Це можливо?

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


Див. Chat.stackexchange.com/rooms/939/gis . Я не боюся відповіді. Нік.
nhopton

Ви строго використовуєте лише QGIS? Чи думали ви використовувати інше програмне забезпечення для підготовки даних до маркування?
Олексій Марков

Я б також використовував інше програмне забезпечення, якщо його відкрито і безкоштовно :)
КАРТА

Відповіді:


21

Далі ми розглянемо метод отримання деякого контролю над розміщенням контуру етикетки, див. Малюнок.

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

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

О, вам потрібно лише невелике значення буфера, 50 метрів. Я думаю, що я використовував у цьому прикладі, навіть це, можливо, було б більше, ніж суворо потрібно.

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


Творчий метод. Я можу запозичити цю ідею для майбутніх карт.
Лісовий ліс Сью

2
Дуже добре, дуже гарна ідея, Нік! Але це здається, що потрібно зробити багато роботи на площі 1000 км² із сотнями пагорбів і гір ... :)
КАРТА

1
Трохи брудного зламу, ти не думаєш? :)
blah238

1
Так! Але це комплімент у моїй книзі :) Так, це був би неабиякий обсяг роботи Мартіна, але швидше, ніж зміна точок міток про мене, думаю. Ви можете намалювати багато ліній для буферизації в одному шарі, і, як я вже згадував, вони не повинні були бути прямими. Думаю, було б непогано перетинати їх, хоча. Нік.
nhopton

Цей метод у поєднанні з віртуальними шарами може забезпечити інтерактивний спосіб встановлення мітки вздовж рядка.
Олександр Нето

4

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

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

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

Начебто вигнуте розташування, здається, ігнорує орієнтацію лінії. (Я повідомив про поведінку.)

Крім того, не здається можливим досягти перевернутих міток, якби ви це прагнули.


орієнтація - це те, як ви знаєте, де "в гору" відносно контуру, навіть якщо мітки перевернуті.
Майк Т

1
Спасибі! Але це працює не дуже добре. Орієнтація все ще орієнтована на кут лінії, а не на верхню сторону, як, наприклад, 1700 м та 1900 м, або контурні номери на пагорбах з лівого боку. Але дякую!
КАРТА

@MikeToews Я знаю про це, але в даний час не представляється можливим створити перевернуті мітки в даний час (як я вже згадував у відповіді).
underdark

"Правила" - це занадто сильне слово, але існують конвенції щодо маркування ліній, і нова система маркування виконує непогану роботу щодо їх поваги. Я думаю, якби ви хотіли вибрати, де на лінії з'являються мітки, вам доведеться розбити лінії на відповідні розділи. Нік.
nhopton

Можливо, існує інший спосіб поводження з розміщенням контуру етикетки, дозвольте мені подумати про це.
nhopton

4

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


1
(+1) Розумний підхід - і досить загальний для роботи з багатьма ГІСами, і дуже гнучкий. (На жаль, це рішення не відповідає вимозі криві етикетки з контурами.) Ласкаво просимо на наш сайт!
whuber

1

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


Це, мабуть, стосується плагіна QGIS Contour. Але це все ще залишає питання про те, як поводитися з етикетками.
underdark

0

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

У QGIS 3.2 перейдіть до

  • Шар -> Властивості ...,
  • Маркування вкладки
  • Відображення підрозділу

і виберіть Показувати перевернуті мітки = завжди . Без цього QGIS відмовиться друкувати етикетки догори дном, і ви закінчитесь із сукупністю орієнтацій.

Якщо ви виявите, що на етикетках все неправильно, ви можете скористатись інструментом " Зворотний напрямок лінії" з панелі інструментів обробки.

Зауважимо, що це передбачає, що всі контури в шарі орієнтовані однаково. Так має бути, якщо в QGIS був використаний інструмент Contour (який викликає gdal_contour).

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