エラー000212:XYイベントソースを作成できません(MakeXYEventLayer)の実行に失敗しましたか?


10

サイズが133mbで、130万行を超えるデータが含まれるcsvファイルがあります。データの各行には独自の緯度/経度があり、ArcGIS Desktop 10で緯度/経度に基づいてそれらのポイントを表示し、最終的にそれをポイントシェープファイルに変換する最良の方法は何でしょうか?

これまでは「Make XY Event Layer」ツールを試しましたが、失敗し続けます...

エラー000212:XYイベントソースを作成できません(MakeXYEventLayer)の実行に失敗しました。

csvファイルは適切にフォーマットされ、lat / longフィールドは数値であるため、なぜクラッシュし続けるのかわかりません。

CSVの最初の2行は次のようになります。最初の行はヘッダーです。

"LAT","LONG","CUSTOMER_MASTER_ID","STORE_NBR","TRANSACTION_DT","SKU_DIVISION_ID","SKU_DEPARTMENT_ID","SKU_CLASS_ID","SKU_CATEGORY_ID","SKU_NBR","SALES_AMT"
"32.363544","-110.969778","2000000792627","2940","8/11/2010","2060","3920","5120","84021","5127866","13.99"

何か案は?


2
より良い、それはデータベースにロードされ得る- -最低でファイルジオデータベース-あなたは、ファイルを分割する必要がありますgis.stackexchange.com/questions/4414/...
Mapperz

2 GBを超えるサイズに分割したいフィッシュネットがあります。ArcGISでそれを行う方法はありますか?とても参考になります。おかげで、伊部
Ibe

指摘してくれてありがとう。もう1つQ:QGISでラスターをシェープファイルに変換する方法はありますか(シェープファイルのサイズは2GBよりも大きくなります)?
伊部

回答:


7

これはもう少し複雑かもしれませんが、私の2セントが何か価値がある場合(およびMS Office製品を使用している場合)、. csvをテーブルとしてMS Access .mdbデータベースにインポートすることをお勧めします。(注:.mdbデータベースには2GBのサイズ制限があります)。

次に、そのAccess .mdbテーブルをArcMapドキュメントに追加し、右クリックして[Display x、y data]を実行します。

リッククリック

データベースにデータを保持し、そのテーブルから読み取り、x、yデータポイントを表示することで、データに変更を加えることができ、それらの変更は、次回マップ表示を更新したときに、x、yデータポイントに自動的に反映されます。毎回新しいシェープファイルまたはレイヤービューを作成する必要はありません。これは、このような大量のデータを管理するためのより堅牢な方法のようにも見えます。

結果のx、yデータポイント


2
MS Accessおよびパーソナルジオデータベースの最大制限は2GBです。編集中のパーソナルジオデータベースは非編集よりも大きいため、この制限に近づくときは注意してください。
Mapperz

@Mapperz、その通りです。2GBは、Arcで作成されたものかどうかにかかわらず、.mdbデータベースのサイズ制限です。スポークミス。とりわけ、私が米国南東部全体の水位記録ステーションをマッピングするために使用した、サイズが2 GB(ただしそれ以上)に近づいているものがいくつかあります。
Jason

それをmdbにロードしてから、ファイルジオデータベースにエクスポートしました。
ファーロング、

12

緯度と経度のフィールド値"32.363544","-110.969778"は引用符で囲まれているため、実際には数値として扱われません。

ディスプレイのxyデータには、xフィールドとyフィールドを数値にする必要があります。

前後の引用符を削除すると、機能するはずです。UNIXマシンのgrep / sedにアクセスできる場合は、この作業が簡単になります。これらのツールのWindowsポートもあります。

また、フィールド名として「Long」を使用することは避けます。予約語として扱われる場合があります。


1
正しい「32」は文字列であり、数値である必要があります
Mapperz

2

ArcGISを混乱させる可能性があるCSVファイルにヘッダー行がありますか?

また、CSVから1行だけコピーしてみて、機能するかどうかを確認します。これにより、フォーマットエラーを解消できます。大きなテキストファイルを開くことができるUltraEditやNotepad ++などのテキストエディターを使用して、サンプル行をコピーします。

ArcGISインポーターがどのように機能するかはわかりませんが、ファイルが大きすぎて処理できない場合があるため、チャンクに分割する必要がある場合があります。


2

SQL Server Expressを使用している場合は、そこにあるさまざまな問題を解決できる可能性があります。

これは、いくつかの異なるクエリ(lat / longはテキストフィールドでした)からまとめられています。

SELECT 
CONVERT(float,[latitude]) lat
,CONVERT(float,[longitude]) long
INTO TEMPPTS
FROM
OPENROWSET ('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\temp;',
'SELECT * from GPSQuery.txt') g
WHERE longitude IS NOT NULL AND len(longitude) > 0
and [latitude] IS NOT NULL AND len([latitude]) > 0

アドホック分散クエリ用にSQLサーバーを構成する必要がある場合があります。

sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

1つのジョブではやり過ぎかもしれませんが、多くの異なるファイルを頻繁に処理する場合は、価値があります。大きなファイルの場合でも、一括インポートについてはbcp.exe(http://msdn.microsoft.com/en-us/library/aa174646 (v=sql.80 ) .aspx )を確認することをお勧めします。


0

そこからシェープファイルを作成したいだけの場合は、QGISを試してください。www.qgis.orgQGISから読み込むことができる区切りテキストプラグインを使用すると、これが簡単になります。その後、それをArcMapに取り込みたい場合は、まずArcCatalogを介して投影を確認してください。


0

また、タイトルにスペースがないことを確認してください。たとえば、「UTMゾーン」は「UTM_Zone」である必要があります。インポート時に問題が発生したため、覚えておいてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.