GCS_WGS_1984를 지리 좌표계로 사용하는 기능 데이터 세트가 있습니다. 여기에는 몇 가지 기능 클래스가 포함되어 있습니다.
이 기능 데이터 세트는 gdb 루트에 몇 가지 추가 기능 클래스가 포함 된 파일 지오 데이터베이스에 있습니다. 이들 중 하나는 GCS_WGS_1984를 좌표계로 사용하는 “점”이라는 피쳐 클래스입니다.
GDB의 루트에서 피쳐 클래스를 드래그하기 위해 ArcCatalog를 사용하는 것이 간단하다고 생각했습니다. 동일한 좌표계를 가지므로 피쳐 데이터 세트입니다. 불행히도 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
- 이름입니다. , 일치 할 수 있지만 이름이 다른 경우이 메시지를 무시하고 무시합니다.
답변
동일한 좌표계가 항상 동일한 좌표계는 아닙니다. 일부 작업 및 지오 프로세싱 도구에서 피쳐 클래스가 공통 좌표계를 공유하지 않는다고 생각하는 상황이 발생했습니다. 매개 변수가 동일하거나 소수점 위치가 다르기 때문에 ( “Yukon Albers”와 “Albers-custom”) 투영의 설명 이름이 다릅니다 ( “Yukon Albers”와 “Albers-custom”).
내가 일반적으로하는 일 Feature Dataset (및 F.class) 좌표계가 C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems
(더 적은 클릭으로 CS를 사용할 수있게 함) 및 / 또는 항상 가까운 곳에 저장된 마스터 피쳐 클래스 템플릿에서 CS를 복사합니다.
부분적으로 이에 대한 응답 문제는 비어있는 기능 데이터 세트 (D:\s.gdb\_template
)도 있는데,이 데이터 세트를 사용하여 다른 작업을 수행하기 전에 모든 데이터를 첫 번째 단계 필터로 퍼널합니다. 공통 좌표계 중에서 이것은 정밀도와 공간 영역 등이 동일하다는 것을 보장합니다.
업데이트 : 템플릿 피처 클래스에서 피처 데이터 세트 공간 참조 시스템을 복사하기 위해 Python을 사용하는 방법에 대한 Andy의 답변 을 참조하세요 (2 줄만). 이것은 ArcCatalog에서 저에게 효과적이었습니다. 10.3 가져올 피쳐 클래스를 선택하여 SR을 정의하는 대화식 방법이 작동하지 않는 경우
댓글
- Wouldn ‘ 다른 이름으로 저장 옵션을 사용하여 내 보낸 ‘ .prj 파일에 언급 한 예쁜 글자 이름이나 소수 자릿수에 대한 이러한 사소한 변경 사항이 없습니다. ? 그렇다면 왜 diffing prj 파일에 아무것도 표시되지 않습니까? x, y 해상도의 약간의 차이가 충돌의 원인이 될 수 있는지 궁금했습니다.
- ” 다른 이름으로 저장으로 만든 .prj 파일 일 수 있습니다. “는 내부적으로 저장된 것과 정확히 동일하지 않습니다. 공통 공간 해상도 등을 보장하기 위해 특성 데이터 세트 ” 필터 “를 사용합니다.
- I ‘ 여기에 하나의 추가 패싯을 추가합니다. 때로는 다른 소스의 데이터 세트가 실제로 M 또는 Z가없는 경우 M 및 Z 값을 포함하는 것으로 생성됩니다.저는 ‘ 일부 ESRI 도구가 X / Y 좌표계가 실제로 정확히 일치한다는 사실에도 불구하고 빈 Z 좌표계가 일치하지 않는 것으로 감지한다는 것을 발견했습니다.
답변
이것은 답이 아니라 설명입니다.
우리 (Esri)는 좌표 참조 시스템 이름과 값에 대해 매우 엄격한 테스트를 수행합니다. “같음”테스트는 500000.00과 500000.000000을 비교할 때 실패를 반환하지 않지만 하나가 실제로 500000.0이고 다른 하나가 500000.00000005이면 실패 할 수 있습니다. “is equal”이 더 많이 전달되도록 이름에 별칭을 추가하는 작업을 진행 중입니다.
mindless.panda와 matt wilkie가 언급했듯이 차이는 공간 참조의 다른 값에있을 수 있습니다. 참조에는 좌표 참조 시스템 및 저장 / 처리 값이 포함됩니다. 저장 : xy, z, 측정 해상도 및 범위. 처리 : xy, z 및 측정 공차 값. 이들의 차이는 같지 않음 오류를 유발할 수 있습니다.
댓글
- 귀하의 답변에 감사드립니다. 특히 사용자에게보고되는 오류 처리가 ArcGIS에서 개선되는 것을보고 싶습니다. 자세히 원하는 경우 더 자세한 정보를 얻을 수있는 옵션과 함께 정보 오류가 필요합니다. 다시 한 번 ESRI에 응답 해 주셔서 감사합니다.
- 오류에 대한 자세한 정보를 제공하는 제안을 두 번째로 처리합니다. 지난 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.
)가 발생했습니다. 오류가 반복되는지 확인하기 위해 두 번째로 한 작업을 실행 해 보거나 다른 방법 (또는 점점 더 많은 소프트웨어)을 사용하는 것 외에는 아무것도 할 수 없기 때문에받을 수있는 분노 메시지입니다.
답변
이 문제를 해결하기 위해 수행 한 작업 (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).
답변
이 문제로 저를 죽였습니다! CAD 파일에서 여러 피쳐 클래스를 저장 한 후 좌표계를 정의한 다음 피쳐 데이터 세트로 구성하기 위해 여러 번 시도했습니다. ESRI의 공식 WGS_1984_UTM_42N 프로젝션에서 필요한 모든 f.classes와 f.datasets를 정의하고 데이터 세트에 대한 프로젝션을 설정 한 다음 Define Projection 도구를 사용하여 f.classes에 대한 해당 프로젝션을 가져 오려고했습니다. f.classes는 붙여 넣을 수 없거나 1 개는 붙여넣고 나머지는 붙여 넣지 않습니다.
또한 피처 클래스를 지오 데이터베이스로 (다중) 스크립트는 f.class를 대량으로 f.dataset로 이동하는 데 효과적입니다. 단, 지오 데이터베이스에서 다른 ( 동일한 지오 데이터베이스 내의 f.dataset가 아님). 이는 스크립트가 f.class가 복사 될 때 자동으로 이름을 바꾸지 않기 때문인 것 같습니다 (또는 Feature Class에서 Feature Class로 새 이름을 요청하는 경우). 그러나 다른 사람들이 지적했듯이 (위에 링크 된 동일한 스레드) 제공된 오류는 일반적인 999999입니다.
답변
I GeoDatabase의 피쳐 데이터 셋으로 단순히 피쳐 클래스를 이동하려고 할 때이 문제가 발생했습니다. 내 피쳐 데이터 셋을 만들고 동일한 좌표계를 사용하는지 확인했습니다. 계속해서 “ xyz 붙여 넣기에 실패했습니다. 공간 참조가 일치하지 않습니다.”라는 메시지를 받았습니다. 내가 찾은 가장 빠른 해결 방법은 내가 원하는 피쳐 클래스에서 새로 생성 된 데이터 세트의 동일한 공간 참조를 가져 오는 것이 었습니다. 그것으로 가져옵니다. “Create New Feature Dataset”마법사의 두 번째 단계입니다.
공간 참조가 다른 이유를 모르겠습니다.
댓글
- 안녕하세요, @Alan! 경험을 공유해 주셔서 감사합니다. 사이트에 오신 것을 환영합니다.
- 안녕하세요, Alan, 새 기능 데이터 세트 / 클래스 생성 마법사는 ‘ ” 가져 오기 좌표계 “를 사용할 때 항상 모든 저장 / 처리 값을 가져 오는 것은 아닙니다.’ 문제를 해결하기 위해 노력하고 있습니다. 생각합니다 ‘ 당신이 겪는 일입니다.
- 저 ‘ m 이 문제 확인-피쳐 데이터 세트를 생성하고 가져 오기 메커니즘을 사용하고 피쳐 클래스를 선택한 경우에도 ‘ 새로 생성 된 피쳐 데이터 세트로 피쳐 클래스를 드래그 / 복사 할 수 없습니다. 앞서 언급 한 오류없이.
답변
ESRI에 보내는 메시지 중 하나는보다 구체적인 매개 변수를 제공하는 것입니다. 차이점은이 오류가 발생하면 정보를 디버그합니다. 대부분의 GIS 사용자가 생각하는 것처럼 공간 참조 시스템 및 투영을 신중하게 제어 한 후에도이 오류가 발생했습니다.
ArcToolbox 복사 기능을 사용하여 발생하는 오류 메시지를 수정하는 절차를 찾았습니다. 가져 오기 또는 복사 메커니즘이 사용됩니다. 여기에서는 피쳐 데이터 세트에 피쳐 클래스를 도입하기 전에 참조 또는 투영 차이를 올바르게 해결하기 위해 피쳐 복사 도구 상자 절차에 의존합니다.
저는에 정의 된 투영 시스템을 사용하여 피쳐 데이터 세트를 생성 해 보았습니다. 데이터 세트 생성 시간, 그리고 동일한 투영으로 ArcToolbox 투영 도구를 사용하여 피쳐 클래스를 피쳐 데이터 세트에 투영했지만 피쳐 클래스를 데이터 세트로 가져 오거나 복사하려고 할 때 여기에 설명 된 오류가 계속 발생했습니다.
이러한 좌표계 문제는 ArcMap에서 데이터를 사용할 때 가려집니다. ArcMap은 on-the-fly 투영을 수행하므로 사용자가 알지 못하는 사이에 투영이 서로 다른 여러 피쳐 클래스를 ArcMap 맵에 추가 할 수 있습니다. ArcMap은 다른 좌표 참조 시스템에 대해 경고합니다.