Перемещение векторов по указанным координатам в QGIS?


Ответы:


24

Да, конечно, может. Как сказал alexgleith, вы можете использовать плагин qgsaffine (из установщика плагина)

Вершина первой строки - в 0,0, а вершина второй линии - в 5,5. В начале точки расположены вдоль 0 на X. введите описание изображения здесь

Используя плагин Affine, мы можем добавить 5 ко всем координатам X:

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

Затем, после того как они все на второй строке в X 5, Y 5:введите описание изображения здесь


Я был счастлив попробовать это, но, во-первых, интерфейс плагина теперь выглядит совсем по-другому, а во-вторых, есть некоторые ограничения, потому что я не могу поставить 7500000 как стандартное значение при использовании сетки GDA94 или сетки UTM ...
Miro

Хм, я сначала переместил его вручную с помощью инструмента перемещения, как сказано во втором ответе.
Миро

«Вершина первой строки - в 0,0, а вершина второй линии - в 5,5». как это может быть, если обе линии выровнены по вертикали?
Родриго

7

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

Чтобы переместить их на определенное смещение x, y, вы можете использовать плагин python "qgsaffine".

Я не знаком с использованием консоли Python, но, вероятно, там тоже есть решение.


К сожалению, использование памяти QGIS проходит через крышу и падает, если вы перемещаете только несколько простых объектов.
Дэмиен

6

Плагин в принятом ответе больше не доступен. Аффинные преобразования доступны и очень полезны.

С помощью этого плагина вы можете создать формулу. На скриншоте я сместил все ячейки с 17.396 (метров) на север.

скриншот основного экрана плагина


Что означают х и у? Почему первое - 1, а второе - 0 по умолчанию? Почему есть два из каждого х + и у +? Почему второй x + по умолчанию равен 1, а все остальные 0?
Родриго

1
x'И y' означает , что полученные xи yиз исходного векторного слоя. Вы должны прочитать это так: derived x= (1.0 * original x) + (0.0 * original y) + 0.0это означает, что нет никаких изменений в направлении х, следовательно, 1,0 раз х. Я хотел сдвинуть все камеры вверх (на север) на 17,396 метра. Таким образом, я только добавил 17,396 к (1 * у). Если вы вообще не хотите вносить изменения, вы просто используете: x' = (1 * x) + (0 * y) + 0иy' = (0 * x) + (1 * y) + 0
Gert

Спасибо! Теперь я понял.
Родриго

3

Я нахожу плагин «Числовое редактирование вершин» очень полезным для определения новых координат точки.

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


1

Существует плагин называется moveна хранилище кода .

Он перемещает фигуры из точек А и В и делает это без осложнений.

Это Переместить все выбранные объекты из точки в точку с привязкой.


0

В QGIS 3.x плагину больше не нужно перемещать векторные фигуры, поскольку в Toolbox -> Vector Geometry есть подпрограмма «Translate». Вы просто помещаете расстояние смещения для осей x и y и запускаете его или, - как сказано выше, если вы предпочитаете ручное позиционирование, начинайте редактировать слой, выбирайте все объекты и перемещайте их с помощью инструмента «Переместить объект».

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

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