Перемещение векторов по указанным координатам в 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на хранилище кода .

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

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

konzo
источник
0

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

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

user29347
источник