Размещение номеров высот на контурах с ориентацией в гору и положением в QGIS?


20

Я хочу сориентировать свои отметки высоты в гору.

Это возможно?

В настоящее время я использую инструмент маркировки от QGIS (не тот, что в настройках слоя). Я хочу, чтобы надписи были изогнуты и были ориентированы в гору (и я хотел бы определить, насколько регулярно отображаются цифры). Это все для печати карты.


См. Chat.stackexchange.com/rooms/939/gis . Боюсь, это не ответ. Ник.
Ноптон

Вы строго используете только QGIS? Рассматривали ли вы использование другого программного обеспечения для подготовки данных для маркировки?
Алекс Марков

Я также использовал бы другое программное обеспечение, если оно открыто и бесплатно :)
MAP

Ответы:


21

Итак, метод, чтобы получить некоторый контроль над размещением меток контура, см. Рисунок.

Первым делом я загрузил контуры. Затем, на новом шейп-файле линии, я нарисовал линию от вершины холма до низа (метки на рисунке выровнены с этим). Затем я буферизовал линию и использовал буфер, чтобы обрезать контурный слой. После этого я загрузил обрезанные контуры поверх слоя контура, установил символы так, чтобы маленькие линии не отображались, и пометил обрезанный слой, используя новую систему маркировки.

В показанном примере я использовал только одну прямую линию, но, конечно, можно было бы использовать и полилинии, чтобы получить более удобные метки.

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

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


Креативный метод. Я мог бы позаимствовать эту идею для будущих карт.
Сью Дефорест

2
Выглядит хорошо, очень хорошая идея, Ник! Но это похоже на большую работу, которую нужно проделать для площади 1000 км² с сотнями холмов и гор ... :)
MAP

1
Немного грязного хака, тебе не кажется? :)
blah238

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

Этот метод в сочетании с виртуальными слоями может обеспечить интерактивный способ установки метки вдоль линии.
Александр Нето

4

Используя параллельное размещение вместе с «нижней линией» и «зависимым от ориентации линии положением», мне всегда удавалось размещать метки на склоне.

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

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

Кривое размещение в настоящее время, кажется, игнорирует ориентацию линии. (Я сообщил о поведении.)

Кроме того, кажется невозможным получить перевернутые ярлыки, если вы к этому стремились.


ориентация - это то, как вы узнаете, где «в гору» относительно контура, даже если метки перевернуты.
Майк Т

1
Благодарность! Но это не работает очень хорошо. Ориентация по-прежнему ориентирована на угол линии, а не на склон в сторону подъема, как 1700 м и 1900 м, или числа контуров на холмах с левой стороны. Но спасибо!
КАРТА

@MikeToews Я знаю об этом, но в настоящее время кажется невозможным создавать перевернутые ярлыки (как я уже упоминал в ответе).
Подземье

«Правила» - это слишком сильное слово, но существуют соглашения о маркировке линий, и новая система маркировки хорошо выполняет их. Я думаю, что если вы хотите выбрать, где на строке появляются метки, вам придется разбить строки на соответствующие разделы. Ник.
Ноптон

Возможно, есть другой способ размещения меток контура, позвольте мне подумать об этом.
Ноптон

4

Что вы могли бы сделать, это сделать файл точек из контуров с атрибутом возвышения (вы можете сделать это с помощью любого профиля из линейного инструмента). Затем добавьте в точку значение аспекта (вам понадобится растр аспекта, но его легко создать) и, наконец, поверните метку высоты в точках в соответствии с аспектом (на самом деле это должен быть угол 180 градусов +, потому что аспект это направление спуска ). Вы можете стилизовать точки, чтобы они не отображались. Надеюсь, это поможет, это сильно зависит от деталей ваших данных, если аспект не соответствует направлению контура, это может быть довольно раздражающим.


1
(+1) Умный подход - и достаточно общий, чтобы работать со многими ГИС, и очень гибкий. (К сожалению, это решение не соответствует требованию, чтобы метки были изогнуты вместе с контурами.) Добро пожаловать на наш сайт!
whuber

1

Часто вершины контурной линии захватываются таким образом, что подъем всегда находится на одной стороне линии. Может быть, это дело ваших данных ...


Это похоже на случай с плагином QGIS Contour. Но это все еще оставляет вопрос о том, как обращаться с этикетками.
Подземье

0

Я предполагаю, что спрашивающий хочет, чтобы метки контура были направлены в гору, а не помещались на склоне контура.

В QGIS 3.2 перейдите к

  • Слой -> Свойства ...,
  • ярлык
  • подвкладка Рендеринг

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

Если вы обнаружите, что надписи расположены неправильно, вы можете использовать инструмент Обратное направление линии из панели инструментов обработки.

Обратите внимание, что это предполагает, что все контуры в слое ориентированы одинаково. Это должно быть в случае, если в QGIS был использован инструмент Contour (который вызывает gdal_contour).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.