LRI 000212: Không thể tạo nguồn sự kiện XY Không thể thực thi (MakeXYEventLayer)?


10

Tôi có một tệp csv có kích thước 133mb và có hơn 1,3 triệu dòng dữ liệu. Mỗi dòng dữ liệu có độ trễ / dài riêng và tôi đã tự hỏi đâu là cách tốt nhất để hiển thị các điểm đó dựa trên độ trễ / độ dài trong ArcGIS Desktop 10 và cuối cùng biến nó thành một shapefile?

Cho đến nay tôi đã thử công cụ "Tạo lớp sự kiện XY" nhưng vẫn không thành công ...

LRI 000212: Không thể tạo nguồn sự kiện XY Không thể thực thi (MakeXYEventLayer).

Tệp csv được định dạng chính xác và các trường lat / long là số vì vậy tôi không biết tại sao nó cứ bị sập.

Đây là 2 dòng đầu tiên trong CSV của tôi trông như thế nào, dòng đầu tiên là tiêu đề:

"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"

Có ý kiến ​​gì không?


2
Bạn sẽ cần phải phá vỡ tệp - thậm chí tốt hơn là tải nó vào cơ sở dữ liệu - cơ sở dữ liệu địa lý tối thiểu - gis.stackexchange.com/questions/4414/ Lỗi
Mapperz

Tôi có một fishnet mà tôi muốn chia thành kích thước lớn hơn 2gb. Bất kỳ ý tưởng làm thế nào để làm điều đó trong ArcGIS? Nó sẽ rất có ích. Cảm ơn, Ibe
Ibe

Cảm ơn đã chỉ. Thêm một câu hỏi nữa: Có cách nào trong QGIS để chuyển đổi một raster thành shapefile (kích thước của shapefile một lần nữa sẽ lớn hơn 2gb) không?
Ibe

Câu trả lời:


7

Điều này có thể phức tạp hơn một chút, nhưng nếu hai xu của tôi có giá trị bất cứ thứ gì (và nếu bạn đang sử dụng các sản phẩm MS Office), tôi khuyên bạn nên nhập .csv của mình vào cơ sở dữ liệu MS Access .mdb dưới dạng bảng. (Lưu ý: có giới hạn kích thước 2GB cho cơ sở dữ liệu .mdb ).

Sau đó, bạn có thể thêm bảng Access .mdb đó vào tài liệu ArcMap của mình và nhấp chuột phải> "Hiển thị dữ liệu x, y":

Nhấp chuột

Bằng cách giữ dữ liệu của bạn trong cơ sở dữ liệu và đọc từ bảng đó để hiển thị các điểm dữ liệu x, y của bạn, bạn có thể thay đổi dữ liệu của mình và những thay đổi đó sẽ tự động được phản ánh trong các điểm dữ liệu x, y vào lần tiếp theo bạn làm mới màn hình bản đồ thay vì phải tạo một shapefile hoặc lớp xem mới mỗi lần. Đây cũng có vẻ là một cách mạnh mẽ hơn để quản lý một lượng lớn dữ liệu như vậy.

Kết quả điểm dữ liệu x, y


2
2GB là giới hạn tối đa cho MS Access và Personal GeoDatabase - hãy cẩn thận khi tiếp cận giới hạn này vì cơ sở dữ liệu địa lý cá nhân trong chỉnh sửa lớn hơn không chỉnh sửa.
Mapperz

@Mapperz, bạn nói đúng, 2 GB là giới hạn kích thước cho cơ sở dữ liệu .mdb cho dù nó được tạo bởi Arc hay không. Tôi đã bỏ lỡ. Tôi có một vài cái có kích thước khoảng 2 GB (nhưng không có gì hơn) mà tôi đã sử dụng để lập bản đồ các trạm ghi mực nước ở phía đông nam Hoa Kỳ, trong số những thứ khác.
Jason

Tuyệt vời, tôi đã tải nó lên một mdb sau đó xuất nó sang File GeoDatabase và nó đang hoạt động rất tốt, cảm ơn bạn!
Furlong

12

Vì các giá trị trường Lat và Long "32.363544","-110.969778"có dấu ngoặc kép quanh chúng, nên chúng không thực sự được coi là số.

Dữ liệu xy hiển thị cần các trường x và y là số.

Loại bỏ các trích dẫn xung quanh và nó sẽ hoạt động. Nếu bạn có quyền truy cập vào một máy unix grep / sed chắc chắn sẽ làm cho công việc này dễ dàng hơn. Ngoài ra còn có cổng windows của các công cụ này.

Ngoài ra, tôi sẽ tránh sử dụng "Dài" làm tên trường - có thể có trường hợp nó được coi là một từ dành riêng.


1
đúng "32" là chuỗi và cần phải là số
Mapperz

2

Bạn có dòng tiêu đề trong tệp CSV có thể gây nhầm lẫn ArcGIS không?

Ngoài ra, hãy thử sao chép chỉ một trong các dòng từ CSV và xem nó có hoạt động không - theo cách đó bạn có thể loại bỏ các lỗi định dạng. Sử dụng trình soạn thảo văn bản như UltraEdit hoặc Notepad ++ có khả năng mở các tệp văn bản lớn để sao chép dòng mẫu của bạn.

Tôi không biết trình nhập của ArcGIS hoạt động như thế nào, nhưng bạn có thể thấy tệp quá lớn để có thể đối phó với nó, vì vậy nó có thể cần phải chia thành nhiều phần.


2

Nếu bạn đã có SQL Server Express, bạn có thể thực hiện một số thao tác nâng trong đó.

Điều này được ghép lại với nhau từ một vài truy vấn khác nhau (trong đó lat / long là các trường văn bản):

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

Bạn có thể cần phải định cấu hình máy chủ sql cho Truy vấn phân phối Ad Hoc.

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

Nó có thể là quá mức cần thiết cho 1 công việc, nhưng đáng giá nếu bạn thường xuyên phải xử lý nhiều tệp khác nhau. Mặc dù với các tệp lớn, bạn có thể muốn xem bcp.exe ( http://msdn.microsoft.com/en-us/l Library / aa174646 (v = sql.80 ) .aspx ) để nhập hàng loạt.


0

Nếu bạn chỉ muốn tạo một shapefile từ nó, hãy thử QGIS www.qgis.org Plugin văn bản được phân tách có thể được tải từ khi không sử dụng QGIS. Nếu sau đó bạn muốn đưa nó vào ArcMap, chỉ cần đảm bảo phép chiếu đầu tiên thông qua ArcCatalog.


0

Cũng đảm bảo rằng tiêu đề của bạn không có không gian. Ví dụ: "Vùng UTM" phải là "UTM_Zone" Chỉ cần lưu ý một chút, vì đó là vấn đề đối với tôi khi nhập.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.