ArcGIS Desktop에서 사용할 CSV 파일을 준비하고 있습니까?


16

ArcGIS Desktop에서 사용할 CSV 파일을 준비하는 방법

ArcGIS가 잘못된 필드 유형을 열에 속성으로 지정하고 á 또는 ê와 같은 특수 문자를 잘못 해석하기 때문에 CSV 파일을 사용하는 데 문제가 있기 때문에 묻습니다.

Esri 포럼에서 필드 유형을 정의하는 이른바 schema.ini 파일이 있다는 것을 읽었습니다. 예를 들어 "Col22 = V002 텍스트"는 여기를 참조하십시오 http://forums.esri.com/Thread.asp?c=93&f = 1149 & t = 64464

디스크에서 이러한 .ini 파일을 자주 보았지만 실제로 어떤 것이 좋은지 궁금하지 않았기 때문에 재미있었습니다. R과 같은 다른 프로그램은 그렇게하지 않기 때문에 Excel이 그러한 메타 데이터를 추가 파일에 저장하는 것은 이상합니다.

예를 들어 "문자열"형식을 적용하는 방법을 찾지 못했기 때문에이 .ini 파일을 거의 성공시키지 못했습니다. MS 사이트에 대한 정보가 있습니다. http://msdn.microsoft.com/en-us/library/windows/desktop/ms709353%28v=vs.85%29.aspx 그러나 해결책을 찾을 수 없습니다 .

또한이 .ini 파일로 작업하는 아이디어가 마음에 들지 않았습니다 .50 개의 열을 말했을 때 모든 필드 이름을 정의하고 입력하는 작업이 상당히 많기 때문입니다. 그리고이 .ini 파일 등이 손실 될 수 있습니다.

답변:


16

빠른 수정은 더미 값으로 첫 번째 행을 모두 만든 다음 ArcGIS로 가져온 후이 행 / 레코드를 삭제하는 것입니다.

이 첫 번째 행에는 대표 값 또는 종종 다른 값이 포함됩니다 (예 : 열에 텍스트 데이터 유형이되고 싶은 숫자가 포함되어 있어도 알파벳 문자) 및 해당 행에 필요한 문자 수가 가장 많은 경우 (텍스트 필드가 잘 리기 때문에) .

날짜 / 시간 값은 가져 오기 오류 (특히 캐나다 / 미국 기본 날짜 형식 간)의 영향을 받기 때문에 날짜 / 시간 부분을 별도의 열 (예 : 년, 월, 일,시, 분)로 분할 한 다음 ArcGIS에 성공적으로 가져온 후 새로운 필드 계산에서 이들을 연결합니다.

Jamie 의 지리적 좌표 팁 도 필요합니다. 서반구 경도 및 남반구 위도에 음수 값을 지정하십시오. 그리고 유니 코드는 특수 문자를 처리합니다.

마지막으로, 필드 데이터 유형이 ArcGIS로 가져온 후에도 여전히 잘못 해석되는 경우 올바른 데이터 유형으로 새 필드를 추가하고 원래 필드의 값을 계산 / 변환하지만 일반적으로 더미 행 / 레코드가 대부분을 처리합니다. 모든 문제.


8

기존 CSV-> ArcGIS 레이어에서 약간 벗어난 것은 ogr2ogr을 사용하여 ArcMap에로드하기 전에 CSV에서 셰이프 파일을 만드는 것 입니다.

OGR을 사용 하는 경우 ArcGIS가 schema.ini 파일을 사용하여 수행하는 것과 유사한 열 유형을 설명하는 CSVT 파일을 수동으로 생성 할 수 있습니다.

CSV 열의 데이터 유형을 지정하는 방법 (QGIS에서 사용)에 대한 @underdark의이 게시물은 CSVT 생성에 대한 세부 정보를 설명합니다. ogr을 사용하여 CSV 데이터를 UI로 가져 오기 때문에 QGIS 사용을 무시할 수 있습니다.


7

ArcGIS 10에서는 피처 클래스를 생성하고 모든 필드 유형을 먼저 설정 한 다음 ArcCatalog를 사용하여 .csv 파일을로드 할 수 있습니다. 기능 클래스를 마우스 오른쪽 단추로 클릭하고로드> 데이터로드를 선택하십시오. 그런 다음 Simple Data Loader 대화 상자를 따라 필드 등을 일치시킵니다. 옵션이 많지 않지만 형식이 지정된 데이터에 대해서는 작동하는 간단한 로더입니다. 이전 버전을 확인하기에 편리하지 않기 때문에 이것이 10에 새로운 것인지 확실하지 않습니다.


3

이러한 문제를 해결하는 올바른 방법은 주석에서 @Kirk_Kuykendall이 제안한 'schema.ini'파일을 사용하는 것입니다. 이는 열 형식을 모호하게 해석 할 수있는 데이터베이스로의 CSV 입력을 처리하는 Microsoft 표준 방식입니다.

ArcGIS는 CSV에서 가져올 때 이러한 'schema.ini'파일을 존중합니다.

https://docs.microsoft.com/en-us/sql/odbc/microsoft/schema-ini-file-text-file-driver?view=sql-server-2017 에서 Microsoft 설명서를 참조하십시오.

'schema.ini'파일은 CSV 파일과 동일한 위치에 있어야하며 필요한 경우 동일한 위치에 여러 다른 CSV 파일에 대한 구성을 포함 할 수 있습니다.

잘못된 유형으로 읽히는 열이 하나만있는 단일 CSV 파일에 대한 간단한 'schema.ini'파일은 다음과 같습니다.

[SomeFileName.csv]
Col2=SomeFieldName Long

이것이 ArcGIS Pro에서 작동 함을 확인했습니다. 원하는 데이터 유형과 일치하는 값을 가진 상위 데이터 행을 추가하는 한 가지 해결 방법을 사용하고 있었지만 한 번만 작동하지만 테이블이 거대하거나 자동화 된 경우 이것이 가장 좋은 솔루션입니다. 당신은 그것을 설정하고 잊어 버렸습니다!
alexGIS

1

내가 찾은 해결 방법은 텍스트 편집기에서 CSV를 열고 (notepad ++를 사용하여) CSV로 다시 저장하는 것입니다. 특수 마크 업 문자를 포함하여 파일 내용에 눈에 띄는 변화가 보이지 않지만 Excel에서 CSV 파일의 형식을 지정하는 방법과 관련이있을 수 있습니다. 표준 CSV 옵션 'CSV (쉼표로 구분) (*. csv)'를 사용하여 파일을 Excel에 저장했습니다. 다른 CSV 형식이 더 효과적 일 수 있습니다.

추가 정보 : notepad ++로 파일을 저장할 때 CSV 파일을 사용하여 기본 사항을 변경해야합니다. 이제 Excel에서 파일을 편집하고 저장할 수 있으며 여전히 아크 맵으로 숫자로 가져 오기 때문입니다. 나는 무엇이 바뀌 었는지 전혀 모른다.


-2

놀랍게도 원본 파일 (나를 위해 .txt)을 텍스트 편집기 (UltraEdit for me)에서 열고 .csv 또는 .txt로 저장했습니다. UltraEdit, pandas 또는 내가 볼 수있는 다른 검사 방법에서는 파일에 눈에 띄는 변화가 없습니다.

내 자신을 포함한 해결 방법은 ArcMap이 때로는 숫자 열을 텍스트로 읽기로 결정하는 근본적인 이유를 설명하지 않습니다.

그래서 이것은 두 번 작동했습니다 ... 그리고 똑같은 절차가 작동을 멈췄습니다.

모든 조인을 제거하고, 테이블을 제거하고, ArcMap을 종료하고, 텍스트 편집기에서 테이블을 열고, 테이블을 다시 저장하고, ArcMap을 열고, 테이블을 추가하고, 조인을 다시 실행해야합니다. 표.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.