我在(100,100)周围有一层矢量,我想将它们移动到新坐标(1000,1000)。

我应该如何使用QGIS?

#1 楼

是的,可以。就像alexgleith所说的那样,您可以使用qgsaffine插件(来自插件安装程序)

第一行的顶部为0,0,第二行的顶部为5,5。开始时,点沿X沿0。


使用Affine插件,我们可以在所有X坐标上加5:



然后它们全部位于X 5,Y 5的第二行:

评论


我很乐于尝试,但是首先插件的界面现在看起来非常不同,其次有一些限制,因为使用GDA94网格或UTM网格时我无法将7500000作为标准值...

–米罗
2014年3月18日在3:47

嗯,如第二个答案所述,我首先使用移动工具手动将其移动。

–米罗
2014年3月18日,下午3:53

“第一行的顶部为0,0,第二行的顶部为5,5。”如果两条线都垂直对齐怎么办?

–罗德里戈
19-10-21在11:45

#2 楼

如果要手动移动它们,只需开始编辑,选择要移动的特征,然后选择移动工具并移动它们即可。

要移动它们特定的x,y偏移量,您可以能够使用python插件“ qgsaffine”。

我不是最新使用python控制台,但那里也可能有解决方案。

评论


不幸的是,除非您仅移动几个简单的对象,否则QGIS的内存使用会迅速崩溃并崩溃。

– Damien
13年4月26日在1:05

#3 楼

接受的答案中的插件不再可用。仿射变换可用并且非常有用。

使用此插件,您可以创建公式。在屏幕截图中,我将所有17.396(米)的像元移到了北部。



评论


x'和y'是什么意思?为什么默认情况下第一个为1,第二个为0?为什么每个x +和y +都有两个?为什么第二个x +默认为1,其余所有为0?

–罗德里戈
19-10-21在11:26

x'和y'表示从原始矢量层导出的x和y。您必须这样阅读:派生x =(1.0 *原始x)+(0.0 *原始y)+ 0.0这意味着x方向没有变化,因此是x的1.0倍。我想将所有牢房向北移动17.396米。所以我只将17.396添加到(1 * y)。当您根本不想更改时,只需使用:x'=(1 * x)+(0 * y)+ 0和y'=(0 * x)+(1 * y)+ 0

– Gert
19-10-24在12:44

谢谢!现在我知道了。

–罗德里戈
19-10-24在12:49

#4 楼

在QGIS 3.x中,不再需要插件来移动矢量形状,因为在工具箱->矢量几何中有一个名为“翻译”的例程。您只需放置x和y轴的偏移距离并运行它,或者-如上文所述,如果您希望手动定位,则开始编辑图层,选择所有实体,然后使用“移动特征”工具移动它们。



#5 楼

我发现“数值顶点编辑”插件对于指定点的新坐标非常有用。

在可编辑层上,使用该工具选择一个点,然后将提示您输入新坐标。

#6 楼

在代码存储库中有一个名为move的插件。

它从A点和B点移动形状,并且没有复杂度。

它使所有选定的对象从一个点移动到另一个点。