我有一个要素数据集,它使用GCS_WGS_1984作为地理坐标系。它包含一些要素类。

此要素数据集本身位于文件地理数据库中,该文件地理数据库在gdb的根目录中包含更多要素类。其中一个就是称为“点”的要素类,该要素类也使用GCS_WGS_1984作为其坐标系。

我认为使用ArcCatalog将要素类从gdb的根中拖动将是微不足道的。因为它们具有相同的坐标系,所以将其放入要素数据集。不幸的是,ArcGIS提供了一个错误对话框,内容为:

Failed to paste points
The spatial references do not match


为什么会失败?如果要素类的GCS和要素数据集相同,那么它不行吗?我已经通过对话框以及导出数据集和类的prj文件并使用diff工具进行比较来验证了这种情况。它们是相同的。

要素类的空间参考与坐标系/投影是否不同?

通过按住ctrl的同时尝试将要素类复制到要素数据集中在ArcCatalog中拖动结果每次都崩溃(对ESRI感到羞耻)。

我想我可以尝试移动要素类的替代方法。使用CopyFeatures进入数据集。从要素类投影到要素数据集中的新要素类?

评论

您可以将文件gdb发布到哪里吗?如果很大,也许会删除全部或部分要素,听起来好像即使要素类为空也可以复制。

我希望我有时间记下遇到ArcGIS的每一个小怪癖,通常我只需要忍受它并找到下一个最不愉快的解决方法。我使用数据管理->复制要素将其复制到新要素类(临时命名)中,删除了旧要素类,重命名了新要素类以匹配旧要素类。使用ArcGIS不需要软件测试学位。 =(

“不需要软件测试学位”,chat.stackexchange.com/transcript/message/1116371

它只是名称,它们可以匹配,但是如果它们具有不同的名称,则该消息会被删除,请忽略它。

#1 楼

相同的坐标系并不总是相同的坐标系。我遇到了一些操作和地理处理工具会认为要素类不共享公共坐标系的情况,因为尽管参数相同,但是投影的描述性名称有所不同(“ Yukon Albers”与“ Albers-custom”),或者不同的小数点位置(错误北向500000.00与500000.0000)。 (使CS的点击次数减少)和/或从始终存储在某个地方的主要素类模板中复制CS。 C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems),我将所有数据作为第一步过滤器进行了汇总,然后再对它们进行其他任何处理。在通用坐标系中,这还可以确保精度和空间域等相同。

更新:请参见Andy关于使用python的答案,仅使用2行,即可从模板复制Feature Dataset空间参考系要素类。这在ArcCatalog 10.3中对我有用,当时通过选择要素类来导入一个SR来定义SR的交互式方法不起作用。

评论


您提到的漂亮打印名称或小数位后的这些细微变化是否不会出现在使用“另存为”选项导出的.prj文件中?如果是这样,为什么差异prj文件什么也不显示?我想知道x,y分辨率的微小差异是否也可能导致冲突。

– mindless.panda
2011年6月8日17:58

可能是使用“另存为”创建的.prj文件与内部存储的文件不完全相同。我使用要素数据集“过滤器”来确保通用的空间分辨率等。

–马特·威尔基
2011年6月8日19:17

我将添加一个额外的方面:有时,当其他来源的数据集实际上没有M或Z时,它们会生成为包含M和Z值。我发现某些ESRI工具将空Z坐标系检测为不存在尽管X / Y坐标系实际上确实完全匹配,但实际上没有匹配。

– DPierce
2013年6月4日15:26

#2 楼

这是一个解释而不是答案。

我们(Esri)对坐标参考系统的名称和值进行了非常严格的测试。比较500000.00和500000.000000时,“等于”测试不会返回失败,但是如果其中一个确实为500000.0,而另一个为500000.00000005,则该测试可能会失败。我们正在努力为名称添加别名,以便“相等”会通过更多。

正如mindless.panda和matt wilkie所提到的,差异可能在于空间参考的其他值。空间参考包括坐标参考系统和存储/处理值。用于存储:xy,z,并测量分辨率和范围。对于处理:xy,z和测量公差值。这些中的任何差异都可能导致不相等的错误。

评论


非常感谢您的回复。我真的很想看到错误处理,特别是在向用户报告的错误方面,在ArcGIS中得到了改进。需要更多信息错误,如果需要,可以选择获取更详细的信息。再次感谢ESRI花时间做出回应。

– mindless.panda
2011年6月9日14:31

我赞成该提议,以提供有关错误的更多信息。在过去的两周中,由于一系列问题,我遇到了相同的错误(错误代码:999999:执行功能出错。说明:这是一个通用错误,其错误原因没有适当的错误ID。) 。这是一条令人震惊的消息,因为除了尝试再次执行我的操作以查看错误是否再次出现,或者放弃并使用其他方法(或软件,情况越来越多)之外,我什么也做不了。

– djq
2011年9月28日在21:15

#3 楼

这是解决该问题的方法(在ArcGIS 10.0中使用arcpy)-

这假定以下条件:


FGDB-C:\ gisdata \ Test。 gdb
功能类-C:\ gisdata \ Test.gdb \ bldg

您可以在代码中修改路径和对象名称,并将其粘贴到ArcCatalog中的python窗口中。 >
sr = arcpy.Describe(r'C:\gisdata\Test.gdb\bldg').spatialReference
arcpy.CreateFeatureDataset_management(r'C:\gisdata\Test.gdb', 'MyFeatureDataset', sr)


创建要素数据集后,可以将要素类拖放到其中。

评论


谢谢!今天,这在我无法使用交互式工具通过选择现有要素类来定义新要素数据集坐标系的情况下有效(v10.3)。

–马特·威尔基
2015年4月1日在18:39

#4 楼

这个问题使我丧命!从CAD文件中保存了一堆要素类后,我尝试了很多次来定义它们的坐标系,然后将它们组织到要素数据集中。我尝试从ESRI的官方WGS_1984_UTM_42N投影中定义所有必需的f.class和f.dataset,以及设置数据集的投影,然后使用“定义投影”工具为f.class导入该投影。无法粘贴f.class,或者不粘贴1,而其他f.class则不能。

感谢@Matt Wilkie在本文中的大力支持,Feature Class to Feature Class工具似乎已经解决了该问题。 。即使我尚未为相关f.class定义坐标系,它也会成功将f.classs导入所需的数据集。 )脚本非常适合将f.class批量移动到f.dataset中,除非必须将它从Geodatabase移至另一个(而不是移至同一geodatabase中的f.dataset中)。这似乎是因为脚本在复制f.class时不会自动重命名它们(或要求操作员输入新名称,如Feature Class to Feature Class)。但是,正如其他人指出的(与上面链接的线程相同),给出的错误是一般的999999。

#5 楼

仅在将要素类移动到GeoDatabase中的要素数据集中时遇到了这个问题。我制作了要素数据集,并确保它具有相同的坐标系。我一遍又一遍地收到
“无法粘贴xyz
空间参考不匹配”
我发现最快的解决方法是从导入新创建的数据集中相同的空间参考。我想将其导入要素类。
在“创建新要素数据集”向导的第二步中。

我不知道为什么空间参考会有所不同。

评论


嗨,@ Alan!感谢您分享您的经验,并欢迎访问我们的网站。

– hu
2011年7月21日在13:38

嗨,艾伦,当使用“导入坐标系”时,创建新要素数据集/类向导并不总是提取所有存储/处理值。我们正在努力修复它。我认为这就是您遇到的问题。

– mkennedy
2011年7月21日在16:42

我看到了这个问题-即使创建要素数据集并使用导入机制并选择了要素类,如果没有上述错误,我仍然无法将要素类拖动/复制到新创建的要素数据集中。

– mindless.panda
2012年1月5日18:08

#6 楼

我认为发给ESRI的消息之一是在发生此错误时提供更具体的参数差异调试信息。正如我认为大多数GIS用户一样,即使在仔细控制了空间参考系统和投影之后,我也遇到了此错误。

我发现了使用ArcToolbox复制功能来纠正出现的错误消息的过程。使用导入或复制机制时。在此,我们将使用复制要素工具箱过程来正确解决参考差异或投影差异,然后再将要素类引入要素数据集中。

我什至尝试使用定义为的投影系统来创建要素数据集创建数据集的时间,然后使用具有相同投影的ArcToolbox投影工具将要素类投影到要素数据集中,当我尝试将要素类导入或复制到数据集中时,仍然收到此处描述的错误。

在ArcMap中使用数据时,这些坐标系问题会被掩盖。由于ArcMap可以即时进行投影,因此可以将多个具有不同投影的要素类添加到ArcMap地图中,而用户不会意识到。 ArcMap将警告不同的坐标参考系统。

#7 楼




好。我找到了解决方案!在GDB中的功能数据集上单击鼠标右键,然后单击导入。选择所需的功能,然后单击确定。

#8 楼




尝试使用“数据管理工具/功能”下的“复制功能”工具。否则,无论做什么,我都会不断出错。

#9 楼

您是否尝试过将其引入ArcMap并将图层设置为GCS_WGS_1984,然后
将所有图层导出到文件地理数据库中?投影,您可以导出它们,但可以将数据框更改为GCS_WGS_1984吗?

我不确定在ArcGIS 10中是否有此功能。我还没有它们,但正在使用9.3.1。

评论


您能否阐明第1点和第2点?这些似乎不准确。

–亚伦♦
2015年4月1日19:31