使用QGIS对DXF进行地理配准?[重复]


14

我有一个dxf,它是用错误比例的单位构建的。如何在QGIS中进行升级?请注意,它确实在QGIS中打开,只是在错误的地图单位和位置中。


nhopton 上面关于使用qgsAffine插件的答案仅在上周对我有用。我的dxf缩放为我想要的CRS的1000倍。我使用标准插件将dxf转换为shp,然后通过在qgsAffine中乘以.001来转换X和Y,从而解决了问题。PS迟来了感谢nhopton的建议,在QGIS论坛关闭之前,我没有提供更多建议!
blackthorn

我还有一些我想仿射的DXF。我曾经使用过OpenJump,因为我无法为QGIS插件做数学运算。但是,最终,我发现以已知的投影作为DXF保存SHP图层更容易,在(免费)QCAD中打开它,导入需要固定的DXF,并在那里进行DXF的所有缩放,旋转和移动。一切就绪后,我将其保存为DXF,然后将其重新导入QGIS,并保留了投影,现在我的DXF也固定在正确的位置和比例上。然后,我可以将DXF保存为SHP。
梅利莎(Melissa)2015年

Answers:


12

您对栅格和仿射矢量进行地理配准:)

QGIS有一个仿射插件(qgsAffine),可用于缩放矢量图层。如果需要,还可以将x和y偏移量应用于矢量层中的所有顶点。我认为您可能需要将DXF转换为shapefile才能使用它(在“图层”面板中的图层上单击鼠标右键,然后单击“另存为...”)。将旋转应用于矢量层稍微困难一些。


1
以下是使用qgsAffine旋转的一些技巧:gis.stackexchange.com/q/21696/1872
Mike T

嗯,是的,我确实为那个话题做出了贡献,但似乎并没有受到什么欢迎。但总的来说,我仍然更喜欢OpenJump方法,它会计算所有七个转换参数,然后将它们应用于目标向量。我想我看到了一个QGIS GSoC提案,希望在QGIS中做同样的事情,这会有所帮助。
nhopton'4

是的,我看到了人们OpenJump正在使用的,这是很多滑头!
Mike T


3

我相信这可以在QGIS中完成。
但是,我将cad软件与gis软件一起使用,并将在其中执行以下操作。
无论哪种方式,您都需要有关dxf的一些基本信息。
1.您应该知道dxf的单位。
2.在dxf中应该有一组已知点。(至少2分)。

1a。如果原始坐标系(或非系统)是可识别的,则应将其转换为类似的已知系统。
(如果只是在没有系统中绘制图形,而0,0基本系统则假定某种类型的相等面积)。alambert或albers(取决于覆盖范围[大小])
2a。确保显示工程图中的所有项目(没有关闭任何层)。
3a。选择所有功能。
4a。将所有要素从已知点移动到已知点。
5a。确定原始比例后,根据经验调整所有选定对象的大小
6a。凭经验旋转所有选定对象。
使用已知的CRS保存和/或导出所选对象。



2

我曾经使用过OpenJump,因为我无法为QGIS插件做数学运算。但是,最终,我发现以已知的投影作为DXF保存SHP图层更加容易,在(免费)QCAD中打开它,导入需要固定的DXF,并在那里进行DXF的所有缩放,旋转和移动。一切就绪后,我将其保存为DXF,然后将其重新导入QGIS,并保留了投影,现在我的DXF也固定在正确的位置和比例上。然后,我可以将DXF保存为SHP。


2

插件AnotherDXF2Shape包含地理配准模块: 在此处输入图片说明

参数 在此处输入图片说明

通过X和Y偏移,可以实现DXF的简单位移。当在CAD /系统中缩短了原始坐标时,这很有用。

CAD数据集的世界文件

世界(.wld)文件是一个文本文件,其中包含描述坐标变换的控制点。可以使用世界文件来扩展CAD工程图的属性以包括地理配准信息。该信息作为定义一个或两个称为链接的位移矢量的坐标值存储。数据包括组织成两行的两对或四对坐标。每行使用以下语法定义位移链接:。每行中的第一对坐标对应于源坐标,也称为源坐标。这些值代表CAD工程图中任何已知控制点的x,y位置。每行中的第二对坐标对应于目标坐标,也称为目标坐标。这些值代表地理空间中的新位置,通常是另一个要素图层中的参考点。资料来源:arcgis.com

如果激活了坐标转换,并且插件找到了相应的WLD文件,则会将其自动集成,并相应地转换DXF文件。 在此处输入图片说明

转换1-4个相同点

与CAD数据集相似,转换是通过相同的点进行的。转换的参数数量取决于给定点的数量。 注意:目前尚无用于确定的残差输出。


1

我认为,最快的方法是使用CAD软件修改DXF文件(在正确的坐标中缩放和放置),然后将其加载到QGIS中。

当然,您可以在QGIS中移动功能,但不能缩放它们。希望这可以帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.