QGIS의 속성 테이블에서 데이터 유형을 변경 하시겠습니까?


11

FIP가있는 카운티 데이터가 있습니다 (실제로 주 FIPS와 카운티 FIPS가 결합 됨). STCounty라는 동일한 FIPS 데이터를 사용하여 CSV로 데이터를 가져 왔습니다. 그러나 shapefile FIPS가 실수로 나열되고 CSV가 정수로 들어 와서 결합 기능이 작동하지 않는 것 같습니다. 드롭 박스가 회색으로 표시됩니다.

따라서 더 큰 질문은 테이블에서 속성 유형을 어떻게 변경합니까?

shapefile (카운티 데이터)에 새 열을 만들고 정수로 설정 한 다음 FIPS * 1을 곱하려고했지만 열에 "NULL"이 가득 찼습니다.

QGIS를 처음 사용하고 MapInfo에 대한 경험이 많으므로 결합 개념은 나에게 새로운 것이 아니라 QGIS의 구문입니다.

답변:


11

새로운 정수 열을 작성하는 것이 올바른 방법입니다. 그러나 1*FIPSExcel 또는 Libreoffice에서 작동하는 방식은 문제가 발생하는 곳입니다. QGIS는 계산에서 필드 유형을 자동으로 변환하지 않습니다.

올바른 열 이름으로 변환 함수 중 하나 ( toint정수, tostring텍스트 및 toreal실수 / 소수 로 변환)를 사용해야합니다 .

toreal("FIPS")

Tablemanager 플러그인을 사용하여 불필요한 열을 제거 할 수 있습니다.

.csvt 파일을 설정하는 것이 가장 반복 가능한 솔루션이지만 단일 열의 경우 매우 간단합니다.


1 * FIPS는 ArcGIS에서도 작동합니다.
L_Holcombe 2011

데이터 유형을 변경할 수없는 바보 같은 것 같습니다. 그러나 이것은 정답 인 것 같습니다
chrismarx


1

방금 같은 문제가있었습니다. 제 경우에는 Libreoffice 및 QGIS와 함께 일합니다.

"id"와 "veh"라는 두 개의 열이 있는 테이블을 R에서 .CSV 로 내보냈습니다 . "id"는 정수이고 "veh"Real입니다.

write.csv(tab2,file='/path/table.csv',row.names = F)

내가 열 때 table.csv을 LibreOffice와의 필드 VEH은 "문자열"로 읽을 수 있었다. 그래서 나는 "veh"* 1의 곱으로 또 다른 coulmn "vehh"를 만들었고, 그 결과는 원하는 수였습니다. 그런 다음 파일을 .ODS (Libre Office) 로 저장했습니다.

그런 다음 qgis에 table.ODS 를 로드 하고 "vehh"가 Real으로 인식되었습니다.

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