ArcCatalogによると、同じ座標系のフィーチャデータセットとフィーチャクラス間で空間参照が一致しませんか?


31

GCS_WGS_1984を地理座標系として使用しているフィーチャデータセットがあります。いくつかのフィーチャクラスが含まれています。

このフィーチャデータセット自体は、gdbのルートにさらにいくつかのフィーチャクラスを含むファイルジオデータベースにあります。これらの1つは、座標系としてGCS_WGS_1984も使用している「ポイント」と呼ばれるフィーチャクラスです。

ArcCatalogを使用してフィーチャクラスをgdbのルートからフィーチャデータセットにドラッグするのは簡単なことだと思いました。それらは同じ座標系を持っているからです。残念ながら、ArcGISは次のようなエラーダイアログを表示します。

Failed to paste points
The spatial references do not match

なぜこれが失敗するのですか?フィーチャクラスのGCSとフィーチャデータセットが同じである場合、機能しませんか?これは、ダイアログを介して、データセットとクラスの両方のprjファイルをエクスポートし、diffツールを使用して2つを比較することで確認できます。それらは同一です。

フィーチャクラスの空間参照は、座標系/投影とは異なりますか?

ctrlを押しながらドラッグしてフィーチャクラスをフィーチャデータセットにコピーしようとすると、ArcCatalogが毎回クラッシュします(ESRIでの恥)。

フィーチャクラスを移動する別の方法を試すことができたと思います。CopyFeaturesをデータセットに使用します。フィーチャクラスからフィーチャデータセット内の新しいフィーチャクラスに投影しますか?


ファイルgdbをどこに投稿できますか?フィーチャが大きい場合は、すべてまたは一部のフィーチャを削除して、空のフィーチャクラスでも再現できるように聞こえるかもしれません。
カーククイケンドール

4
ArcGISに出くわす小さな癖を一掃する時間があればいいのですが、多くの場合、それと一緒に暮らす必要があり、次に快適な回避策を見つける必要があります。[データ管理]-> [フィーチャのコピー]を使用して、新しいフィーチャクラス(tempという名前)にコピーし、古いフィーチャクラスを削除し、新しいフィーチャクラスの名前を古いものに合わせて変更しました。ArcGISの使用には、ソフトウェアテストの学位は必要ありません。=(
mindless.panda

2
「ソフトウェアテストの学位は必要ありません」chat.stackexchange.com / transcript / message / 1116371
マットウィルキー

それは単なる名前であり、一致する可能性がありますが、別の名前を持っている場合はこのメッセージを無視しますが、無視してください。
知らない場合は、GISのみ

回答:


21

同じ座標系必ずしもない同じ座標系。投影法の記述名が異なるため(「Yukon Albers」対「Albers-custom」)、パラメーターが同一であるため、またはいくつかの操作およびジオプロセシングツールがフィーチャクラスが共通の座標系を共有しないと考える状況に遭遇しました。小数点以下の位置が異なります(誤った北距500000.00と500000.0000)。

私が通常行うのは、標準の.prjファイルを最上部に配置してC:\path\to\ArcGIS\Desktop10.0\Coordinate Systems(CSをより少ないクリックで使用可能にする)フィーチャデータセット(およびF.class)座標系を作成すること、および/またはマスターフィーチャクラステンプレートからCSをコピーすることです常に手元に保管してください。

この問題への対応の一部として、空のフィーチャデータセット(D:\s.gdb\_template)もあります。これを使用して、他の処理を行う前に、最初のステップフィルターとしてすべてのデータを集めます。一般的な座標系の中で、これは精度と空間領域などが同一であることも保証します。

更新:テンプレートフィーチャクラスからフィーチャデータセットの空間参照系をコピーするための、2行のみのpythonの使用に関するAndyの回答を参照してください。これはArcCatalog 10.3で機能し、インポートするフィーチャクラスを選択してSRを定義するインタラクティブな方法が機能しませんでした。


名前を付けて保存オプションでエクスポートされた.prjファイルには、プリティプリント名や言及した小数点位置のこれらのわずかな変更が存在しませんか?もしそうなら、なぜprjファイルの差分は何も表示しませんか?X、Y解像度のわずかな違いも競合の原因になるのではないかと思っていました。
mindless.panda

1
「名前を付けて保存」で作成された.prjファイルは、内部に保存されているものとまったく同じではない可能性があります。私は、共通の空間分解能を確保するために、フィーチャデータセット「フィルタ」を使用など
マットウィルキー

3
これにもう1つのファセットを追加します。他のソースからのデータセットは、実際にはMまたはZがない場合にMおよびZ値を含むものとして生成されることがあります。 X / Y座標系が実際に正確に一致するという事実にもかかわらず、一致します。
DPierce

16

これは答えではなく説明です。

私たち(Esri)は、座標参照系の名前と値のかなり厳しいテストを行っています。「等しい」テストは、500000.00と500000.000000を比較するときに失敗を返しませんが、一方が実際に500000.0で、もう一方が500000.00000005である場合は失敗する可能性があります。「等しい」がより多くを渡すように、名前のエイリアスを追加する作業を行っています。

mindless.pandaとmatt wilkieが述べたように、違いは空間参照の他の値にある可能性があります。空間参照には、座標参照システムとストレージ/処理値が含まれます。ストレージの場合:xy、z、測定の解像度と範囲。処理の場合:xy、z、および測定許容値。これらの違いは、等しくないエラーを引き起こす可能性があります。


6
あなたの反応は大歓迎です。特にユーザーに報告されるエラー処理がArcGISで改善されることを期待しています。必要に応じてさらに詳細な情報を取得するオプションを使用して、より多くの情報エラーが必要です。繰り返しますが、対応に時間を割いてくださったESRIに感謝します。
mindless.panda

2
エラーに関する詳細情報を提供するという提案をもう1つ紹介します。過去2週間でError code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID. 、さまざまな問題が原因で同じエラー()が発生しました。これは、エラーが繰り返されるかどうかを確認するために2回目の実行を試みるか、別の方法(またはますますソフトウェアになります)を放棄して使用する以外に何もできないため、受け取るべき腹立たしいメッセージです。
djq

9

この問題を解決するために私がしたことは次のとおりです(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)

フィーチャデータセットが作成されたら、フィーチャクラスをドラッグアンドドロップできます。


1
ありがとうございました!インタラクティブツールを使用して既存のフィーチャクラスを選択して新しいフィーチャデータセットの座標系を定義することは機能しませんでした(v10.3)。
マットウィルキー

7

この問題は私を殺していました!CADファイルから多数のフィーチャクラスを保存した後、座標系を定義してフィーチャデータセットに整理しようと何度も試みました。ESRIの公式WGS_1984_UTM_42N投影から必要なすべてのf.classesとf.datasetsの両方を定義し、データセットの投影を設定してから、投影の定義ツールを使用してf.classの投影をインポートしました。f.classesが貼り付けられないか、1が貼り付けられ、他が貼り付けられません。

でオーバー@Mattウィルキーに多くのおかげで、この記事ではフィーチャクラスにフィーチャクラスツールは、問題を解決しているようです。問題のf.classの座標系をまだ定義していない場合でも、f.classesを目的のデータセットに正常にインポートします。

さらに、フィーチャクラスからジオデータベース(複数)スクリプトは、f.classesをf.datasetに一括して移動するのに最適ですが、これはジオデータベースから別のジオデータベース(同じジオデータベース内のf.datasetではなくに移動する必要があることを除きます。これは、スクリプトがコピーされたときにf.classesの名前を自動的に変更しないためです(または、フィーチャクラスからフィーチャクラスへのように、オペレータに新しい名前を要求します)。ただし、他の人(上記のリンクと同じスレッド)が指摘したように、与えられたエラーは一般的な999999です。


4

ジオクラスのフィーチャデータセットにフィーチャクラスを単に移動したいときに、この問題が発生しました。フィーチャデータセットを作成し、同じ座標系であることを確認しました。「xyz の貼り付けに失敗しました。空間参照が一致しません」と何度も繰り返しましたが、最も簡単な回避策は、インポートしたいフィーチャクラスから新しく作成したデータセットに同じ空間参照をインポートすることでした。[新しいフィーチャデータセットの作成]ウィザードの2番目のステップ。

空間参照が異なる理由はわかりません。


こんにちは、@アラン!あなたの経験を共有してくれてありがとう、そして私たちのサイトへようこそ。
whuber

1
こんにちは、アラン、新しいフィーチャデータセット/クラスの作成ウィザードは、「座標系のインポート」が使用されている場合、ストレージ/処理値のすべてを常にプルするとは限りません。修正に取り組んでいます。私が考えて、これはあなたがに実行しているものです。
mkennedy

1
この問題が発生しています-フィーチャデータセットを作成し、インポートメカニズムを使用してフィーチャクラスを選択した場合でも、前述のエラーなしにフィーチャクラスを新しく作成されたフィーチャデータセットにドラッグ/コピーできません。
mindless.panda

3

ESRIへのメッセージの1つは、このエラーが発生したときに、より具体的なパラメーターの違いのデバッグ情報を提供することだと思います。私も、ほとんどのGISユーザーが行うように、空間参照系と投影を慎重に制御した後でも、このエラーに遭遇しました。

ArcToolboxのコピー機能を使用して、インポートまたはコピーメカニズムを使用したときに発生するエラーメッセージを修正する手順を見つけました。ここでは、フィーチャクラスをフィーチャデータセットに導入する前に、参照または投影の違いを正しく解決するために、[フィーチャのコピー]ツールボックスの手順に依存しています。

データセット作成時に定義された投影システムでフィーチャデータセットを作成し、同じ投影でArcToolbox投影ツールを使用してフィーチャクラスにフィーチャクラスを投影しようとしても、インポートしようとするとここで説明するエラーが発生しましたまたは、フィーチャクラスをデータセットにコピーします。

これらの座標系の問題は、ArcMapでデータを使用するとマスクされます。ArcMapはオンザフライ投影を実行するため、投影が異なる複数のフィーチャクラスをArcMapマップに追加して、ユーザーが気付かないようにすることができます。ArcMapは、異なる座標参照系について警告します。


1

OK。私は解決策を見つけました!GDBのフィーチャデータセットを右クリックし、[インポート]をクリックします。必要な機能を選択して、[OK]をクリックします。


0

[データ管理ツール/機能]の[機能のコピー]ツールを使用してみてください。そうしないと、何をしてもエラーが表示され続けました。


-1

ArcMapに起動して、レイヤーをGCS_WGS_1984として設定し、すべてのレイヤーをファイルジオデータベースにエクスポートしようとしましたか?

異なる投影にある1つまたは複数のレイヤーがある場合、それらをエクスポートできますが、データフレームをGCS_WGS_1984に変更しますか?

ArcGIS 10でそれについてはわかりません。まだ持っていませんが、9.3.1を使用しています。


1
ポイント1と2を明確にしてください。これらは正確ではないようです。
アーロン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.