ArcCatalog cho biết các tham chiếu không gian không khớp giữa tập dữ liệu tính năng và lớp tính năng với cùng một hệ tọa độ?


31

Tôi có một bộ dữ liệu tính năng đang sử dụng GCS_WGS_1984 làm hệ tọa độ địa lý. Nó bao gồm một vài lớp tính năng.

Bộ dữ liệu tính năng này tự nó nằm trong một cơ sở dữ liệu địa lý tệp có chứa một vài lớp tính năng khác trong thư mục gốc của gdb. Một trong số đó là một lớp đối tượng được gọi là "điểm" cũng đang sử dụng GCS_WGS_1984 làm hệ tọa độ của nó.

Tôi nghĩ sẽ rất đơn giản khi sử dụng ArcCatalog để kéo lớp tính năng từ thư mục gốc của gdb vào tập dữ liệu tính năng vì chúng có cùng hệ tọa độ. Thật không may ArcGIS đưa ra một hộp thoại báo lỗi cho biết:

Failed to paste points
The spatial references do not match

Tại sao điều này thất bại? Nếu GCS của lớp đối tượng và tập dữ liệu tính năng giống nhau, thì nó có nên hoạt động không? Tôi đã xác minh đây là trường hợp thông qua các hộp thoại cũng như xuất tệp prj cho cả tập dữ liệu và lớp và sử dụng một công cụ tìm khác biệt để so sánh hai. Chúng giống hệt nhau.

Là tham chiếu không gian của một lớp đối tượng khác với hệ tọa độ / phép chiếu?

Xem xét để sao chép lớp tính năng vào bộ dữ liệu tính năng bằng cách giữ ctrl trong khi kéo kết quả trong ArcCatalog bị sập mỗi lần (xấu hổ trên ESRI).

Tôi đoán tôi có thể thử phương tiện thay thế của các lớp tính năng. Sử dụng CopyFeatures vào bộ dữ liệu. Dự án từ lớp tính năng thành một lớp tính năng mới trong bộ dữ liệu tính năng?


Bạn có thể gửi tập tin gdb một số nơi? Có thể xóa tất cả hoặc một số tính năng nếu nó lớn, âm thanh như có thể được sao chép ngay cả với featureclass trống.
Kirk Kuykendall

4
Tôi ước mình có thời gian để chạy xuống mọi trò chơi nhỏ mà tôi gặp phải với w / ArcGIS, thường thì tôi chỉ phải sống với nó và tìm ra cách giải quyết dễ chịu nhất tiếp theo. Tôi đã sử dụng Quản lý dữ liệu -> Sao chép tính năng để sao chép vào một lớp tính năng mới (tên tạm thời), đã xóa lớp tính năng cũ, đổi tên lớp tính năng mới để phù hợp với cũ. Sử dụng ArcGIS không cần phải có bằng cấp về kiểm thử phần mềm. = (
mindless.panda

2
"không yêu cầu bằng cấp về kiểm thử phần mềm" , chat.stackexchange.com/transcript/message/1116371
matt wilkie

Nó chỉ là tên, chúng có thể khớp nhưng nếu chúng có một tên khác, nó sẽ loại bỏ thông điệp này, bỏ qua nó.
Nếu bạn không biết - chỉ cần GIS

Câu trả lời:


21

Hệ tọa độ giống nhau không phải lúc nào cũng là hệ tọa độ giống hệt nhau . Tôi đã gặp phải tình huống trong đó một số thao tác và công cụ xử lý địa lý sẽ nghĩ rằng các lớp đối tượng không chia sẻ một hệ tọa độ chung vì tên mô tả của phép chiếu khác nhau ("Yukon Albers" so với "Albers - custom") mặc dù các tham số giống hệt nhau hoặc bởi vì của các vị trí thập phân khác nhau (sai hướng bắc 500000,00 so với 500000.0000).

Những gì tôi thường làm là đảm bảo các hệ tọa độ Feature Dataset (và F. class) được tạo bằng tệp .prj tiêu chuẩn của chúng tôi được đặt ở đầu C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems(làm cho CS có sẵn với ít lần nhấp hơn) và / hoặc sao chép CS từ mẫu lớp tính năng chính lưu trữ ở đâu đó luôn trong tầm tay.

Một phần để đáp ứng với vấn đề này, tôi cũng có một bộ dữ liệu tính năng trống ( D:\s.gdb\_template) mà tôi chuyển tất cả dữ liệu của chúng tôi qua bộ lọc bước đầu tiên trước khi thực hiện bất kỳ điều gì khác với chúng. Trong số một hệ tọa độ chung, điều này cũng đảm bảo miền chính xác và không gian, v.v. giống hệt nhau.

Cập nhật: Xem câu trả lời của Andy về việc sử dụng python, chỉ có 2 dòng, để sao chép hệ thống tham chiếu không gian bộ dữ liệu tính năng từ một lớp tính năng mẫu. Điều này làm việc với tôi trong ArcCatalog 10.3 khi phương thức tương tác xác định SR bằng cách chọn một lớp tính năng để nhập một lớp không hoạt động.


Những thay đổi nhỏ này trong tên in đẹp hoặc các vị trí thập phân mà bạn đề cập sẽ xuất hiện trong tệp .prj được xuất với tùy chọn Lưu dưới dạng? Nếu vậy tại sao các tập tin prj diffing không hiển thị gì? Tôi đã tự hỏi nếu sự khác biệt nhỏ trong độ phân giải x, y cũng có thể gây ra xung đột.
mindless.panda

1
Nó có thể là tệp .prj được tạo bằng "Save As" không hoàn toàn giống với tệp được lưu trữ bên trong. Tôi sử dụng "bộ lọc" bộ dữ liệu tính năng để đảm bảo độ phân giải không gian chung, v.v.
matt wilkie

3
Tôi sẽ thêm một khía cạnh bổ sung vào đây: Đôi khi các bộ dữ liệu từ các nguồn khác sẽ được tạo như chứa các giá trị M và Z khi chúng không thực sự có M hoặc Z. Tôi đã thấy rằng một số công cụ ESRI phát hiện hệ thống tọa độ Z trống không phù hợp, mặc dù thực tế là các hệ tọa độ X / Y thực sự khớp chính xác.
DPierce

16

Đây là một lời giải thích chứ không phải là một câu trả lời.

Chúng tôi (Esri) thực hiện kiểm tra khá nghiêm ngặt các tên và giá trị hệ thống tham chiếu tọa độ. Thử nghiệm 'bằng nhau' sẽ không trả về thất bại khi so sánh 500000.00 và 500000.000000, nhưng có thể thất bại nếu một thực sự là 500000.0 và 500000.00000005 khác. Chúng tôi đang làm việc để thêm bí danh cho tên để 'bằng nhau' sẽ vượt qua nhiều hơn.

Như mindless.panda và matt wilkie đã đề cập, sự khác biệt có thể nằm ở các giá trị khác của một tham chiếu không gian. Tham chiếu không gian bao gồm hệ tọa độ tham chiếu và giá trị lưu trữ / xử lý. Để lưu trữ: xy, z, và đo độ phân giải và mức độ. Để xử lý: xy, z và đo các giá trị dung sai. Bất kỳ sự khác biệt trong những điều này có thể gây ra một lỗi không bằng nhau.


6
Phản hồi của bạn được nhiều đánh giá cao. Tôi thực sự muốn thấy việc xử lý lỗi, đặc biệt là trong những gì được báo cáo cho người dùng, cải thiện trong ArcGIS. Cần thêm thông tin lỗi, với tùy chọn để có được thông tin chi tiết hơn nữa nếu muốn. Một lần nữa, cảm ơn ESRI vì đã dành thời gian trả lời.
mindless.panda

2
Tôi thứ hai đề xuất để cung cấp thêm thông tin về các lỗi. Trong hai tuần qua tôi đã gặp cùng một lỗi ( 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. ) do một loạt các vấn đề. Đây là một thông điệp gây phẫn nộ khi tôi không thể làm gì ngoài việc thử chạy những gì tôi đã làm lần thứ hai để xem lỗi có lặp lại hay không, và từ bỏ và sử dụng một phương pháp khác (hoặc phần mềm đang ngày càng tăng).
djq

9

Đây là những gì tôi đã làm để giải quyết vấn đề (sử dụng arcpy trong ArcGIS 10.0) -

Điều này giả định như sau:

  • FGDB - C: \ gonomata \ Test.gdb
  • Lớp tính năng - C: \ gonomata \ Test.gdb \ bldg

Bạn có thể sửa đổi đường dẫn và tên đối tượng của mình trong mã và dán nó vào cửa sổ python trong ArcCatalog.

sr = arcpy.Describe(r'C:\gisdata\Test.gdb\bldg').spatialReference
arcpy.CreateFeatureDataset_management(r'C:\gisdata\Test.gdb', 'MyFeatureDataset', sr)

Sau khi tập dữ liệu tính năng được tạo, bạn có thể kéo và thả các lớp đối tượng vào.


1
Cảm ơn bạn! Điều này làm việc cho tôi hôm nay trong tình huống sử dụng công cụ tương tác để xác định hệ tọa độ tập dữ liệu tính năng mới bằng cách chọn một lớp tính năng hiện có không hoạt động (v10.3).
matt wilkie

7

Vấn đề này đã giết chết tôi! Sau khi lưu một loạt các lớp đối tượng từ tệp CAD, tôi đã thử một số lần để xác định hệ tọa độ của chúng sau đó sắp xếp chúng thành các bộ dữ liệu tính năng. Tôi đã thử cả hai định nghĩa tất cả các f. Class và f.datasets cần thiết từ phép chiếu WGS_1984_UTM_42N chính thức từ ESRI, cũng như đặt phép chiếu cho tập dữ liệu sau đó nhập phép chiếu đó cho f. Class bằng công cụ Define Projection. Không có f. Classes sẽ dán vào, hoặc 1 sẽ và những người khác sẽ không.

Rất cảm ơn @Matt Wilkie trong bài đăng này , công cụ Lớp tính năng đến Lớp tính năng dường như đã giải quyết được vấn đề. Nó nhập thành công các f. Class vào bộ dữ liệu mong muốn, ngay cả khi tôi chưa xác định hệ tọa độ cho f. Class trong câu hỏi.

Ngoài ra, tôi thấy rằng tập lệnh Lớp đặc trưng cho Cơ sở dữ liệu địa lý (nhiều) hoạt động rất tốt để di chuyển f. Classes thành một f.dataset hàng loạt, ngoại trừ việc này phải được thực hiện từ Geodatabase sang một cơ sở dữ liệu khác (không phải vào f.dataset trong cùng một cơ sở dữ liệu địa lý) . Điều này có vẻ là do tập lệnh không tự động đổi tên các lớp. Khi chúng được sao chép (hoặc yêu cầu nhà điều hành đặt tên mới, như trong Lớp tính năng thành Lớp tính năng). Tuy nhiên, như được chỉ ra bởi những người khác (cùng một chủ đề được liên kết ở trên), lỗi được đưa ra là 999999 chung.


4

Tôi gặp vấn đề này khi chỉ muốn chuyển một lớp đối tượng thành tập dữ liệu tính năng trong GeoDatabase. Tôi đã tạo Bộ dữ liệu tính năng của mình và đảm bảo nó có cùng hệ thống tọa độ. Hết lần này đến lần khác, tôi nhận được "Không thể dán xyz Các tham chiếu không gian không khớp" Công việc nhanh nhất tôi tìm thấy là nhập tham chiếu không gian giống hệt nhau trong tập dữ liệu mới tạo của tôi từ lớp tính năng tôi muốn nhập vào nó. Ở bước thứ hai của trình hướng dẫn "Tạo bộ dữ liệu tính năng mới".

Tôi không biết tại sao các tài liệu tham khảo không gian khác nhau.


Xin chào, @Alan! Cảm ơn đã chia sẻ kinh nghiệm của bạn và chào mừng đến với trang web của chúng tôi.
whuber

1
Xin chào Alan, trình hướng dẫn tập dữ liệu / lớp tạo tính năng mới không phải lúc nào cũng kéo tất cả các giá trị lưu trữ / xử lý khi "hệ tọa độ nhập" được sử dụng. Chúng tôi đang cố gắng sửa nó. Tôi nghĩ rằng đây là những gì bạn đang chạy vào.
mkennedy

1
Tôi đang gặp vấn đề này - ngay cả khi tôi tạo Bộ dữ liệu tính năng và sử dụng cơ chế nhập và chọn lớp tính năng, tôi vẫn không thể kéo / sao chép lớp tính năng vào Bộ dữ liệu tính năng mới được tạo mà không gặp lỗi đã nói ở trên.
mindless.panda

3

Tôi nghĩ một trong những thông báo gửi tới ESRI là cung cấp thông tin gỡ lỗi khác biệt về tham số cụ thể hơn khi xảy ra lỗi này. Tôi cũng đã gặp phải lỗi này ngay cả sau khi kiểm soát cẩn thận các hệ thống tham chiếu và dự đoán không gian, như tôi nghĩ rằng hầu hết người dùng GIS đều làm như vậy.

Tôi đã tìm thấy quy trình sử dụng Tính năng sao chép ArcToolbox để khắc phục các thông báo lỗi xảy ra khi sử dụng cơ chế nhập hoặc sao chép. Ở đây chúng tôi phụ thuộc vào thủ tục hộp công cụ Sao chép để giải quyết chính xác các khác biệt về tham chiếu hoặc phép chiếu trước khi đưa lớp tính năng vào tập dữ liệu tính năng.

Tôi thậm chí đã thử tạo tập dữ liệu tính năng với hệ thống chiếu được xác định tại thời điểm tạo tập dữ liệu và sau đó chiếu các lớp đối tượng vào tập dữ liệu tính năng bằng công cụ chiếu ArcToolbox có cùng phép chiếu và vẫn nhận được lỗi được mô tả ở đây khi tôi cố gắng nhập hoặc sao chép lớp tính năng vào tập dữ liệu.

Các sự cố hệ thống tọa độ này trở thành mặt nạ khi bạn sử dụng dữ liệu trong ArcMap. Do ArcMap thực hiện phép chiếu nhanh, nhiều lớp tính năng với mỗi phép chiếu khác nhau có thể được thêm vào bản đồ ArcMap mà người dùng không biết. ArcMap sẽ cảnh báo về các hệ thống tham chiếu tọa độ khác nhau.


1

ĐƯỢC. Tôi đã tìm thấy một giải pháp! Rightmouse trên Bộ dữ liệu tính năng trong GDB và nhấp vào Nhập. Chọn các tính năng bạn cần, sau đó OK.


0

Hãy thử sử dụng công cụ Sao chép tính năng trong Công cụ / Tính năng quản lý dữ liệu. Nếu không, tôi tiếp tục nhận được một lỗi bất kể tôi đã làm gì.


-1

Bạn đã thử đưa nó lên ArcMap và đặt các lớp là GCS_WGS_1984 và sau đó xuất tất cả các lớp của bạn sang cơ sở dữ liệu địa lý tệp?

Nếu bạn có một hoặc một vài lớp trong các phép chiếu khác nhau, bạn có thể xuất chúng nhưng thay đổi khung dữ liệu thành GCS_WGS_1984?

Tôi không chắc chắn về điều đó trong ArcGIS 10. Tôi chưa có chúng nhưng đang sử dụng 9.3.1.


1
Bạn có thể vui lòng làm rõ điểm 1 và 2 không? Những điều này dường như không chính xác.
Aaron
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.