QGIS에서 필드 길이를 변경하는 방법


11

QGIS 1.7.4에서 만든 shapefile이 있습니다. 필드 중 하나는 길이가 80 인 문자열입니다. 필드에 더 긴 찌르기를 허용하고 싶지만 길이를 변경하는 방법을 알 수 없습니다. 어떻게해야합니까?

감사.

답변:


15

그것이 효과가 있다는 것을 놀라게 한 해결책이 있습니다!

경고 : 먼저 백업을 만드십시오. 이것은 지금 당장 효과가 있었지만 실험입니다.

OpenOffice Calc 응용 프로그램을 사용하여 특정 shapefile의 .dbf를 엽니 다. 값을 80에서 원하는 값으로 변경하십시오. 아래 이미지를 참조하십시오. 놀랍게도 이러한 필드 정의는 Excel에서 볼 수 없었습니다.

여기에 이미지 설명을 입력하십시오


+1-훌륭한 작은 트릭. Libre / Openoffice DBF에서 이러한 숫자는 항상 성가 시지만 이제는 사용을 참조하십시오.
Simbamangu

1
두 번째로, 빠르고 더러운 데이터 편집 및 서식 지정 (특히 Cals의 수식을 사용하려는 경우) 또는 위치별로 일부 데이터를 결합하고 필드 이름을 한 번 더 입력하려는 경우 상당히 많이 사용하십시오. 너무 길다 ... 기억하십시오 : FID- 열없이 행을 다시 정렬하여 올바르게 재정렬하지 마십시오. 그렇지 않으면 모든 기능에 잘못된 속성 데이터가 있습니다.
SAnderka

나는 이것을 시도했고 후속 열의 값을 손상시켰다. 그러나 영리한 아이디어입니다.
Evan

2
지금까지 데이터 손상이 발생하지 않았습니다. 실수로 데이터 유형을 변경 했습니까 (예 : C는 문자를 나타냅니다. 자세한 내용은 dbase.com/knowledgebase/int/db7_file_fmt.htm )? Calc는 헤더에 맞지 않는 데이터로 dbf를 저장하려고하면 경고합니다. 데이터가 손상되는 방식을 아직 잘
모르겠습니다

2
그리고 정렬에 대해 : 지형지 물 데이터 (다각형, 점, 선)와 속성 데이터 사이의 연결은 행 번호로 이루어집니다 .Calc에서 속성 파일을 사용하여 저장하면 잘못된 속성이 연결됩니다. 기능 (즉, 혼합).
SAnderka

12

내 지식으로는 QGIS에서 shapefile 필드의 길이를 변경할 수 없습니다. 새 필드를 만드는 것이 좋습니다.

  • 속성 테이블 열기
  • 편집 토글
  • '새 열'을 선택하고
    유형을 텍스트로 설정 하고 원하는 너비를 선택하십시오.

이전 필드에 이미 데이터가있는 경우 필드 계산기를 사용하여 새 필드를 채 웁니다.

  • '필드 계산기'를 선택하십시오
  • '기존 필드 업데이트'를 선택하고 새 필드를 선택하십시오.
  • '필드'에서 기존 필드 이름을 두 번 클릭하십시오.
  • '확인'을 누르고 편집 내용을 저장하는 것을 잊지 마십시오.

좋은 방법입니다. 이 단계가 끝나면 테이블 관리자 (플러그인)로 이동하여 이전 필드를 삭제하고 필요한 경우 새 필드의 이름을 바꿉니다.
IanS

4

방금 Excel 에서이 작업을 수행했습니다. Excel에서 dbf를 열고 변경하려는 열 헤더를 마우스 오른쪽 단추로 클릭 한 다음 열 너비를 선택하십시오. 필요한 길이로 변경 한 다음 dbf로 저장하십시오. 나를 위해 잘 작동하는 것 같았습니다.


열 너비가 열의 표시 너비가 아닌가?
vinayan

3
@Vinayan, 질문은 QGIS에 표시되는 방법이 아니라 필드가 보유 할 수있는 것을 명시 적으로 나타냅니다. Excel에서는 파일을 저장할 때 필드를 얼마나 넓게 만들지에 대한 표시로 열 너비 표시를 사용하므로이 답변이 작동합니다. 자세한 내용은 quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe 를 방문하십시오 . 그러나 이전 버전의 Excel에서만 작동합니다. 최신은 내가 듣는 DBF 파일을 쓰지 않을 것입니다 :-(.
whuber

@ whuber, 그것은 흥미 롭습니다 .. 나는 내 응용 프로그램에 그런 유형의 기능 (크기 조정)을 넣지 않을 것입니다 :-)
vinayan

0

QGIS에서 속성 테이블의 열 크기 변경 안내서

  1. 벡터 레이어를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
  2. 필드 탭으로 이동하십시오.
  3. 새 열 추가 (이 단추는 오른쪽 상단 모서리에 있습니다. a. 확장하려는 모든 데이터를 열로 일치 시키십시오. 길이를 제외하고 원하는 길이로 변경하십시오.
  4. '필드 계산기'버튼을 선택하십시오 (이 버튼은 오른쪽 상단 모서리에 있습니다).
  5. '기존 필드 업데이트'를 확인하십시오.
  6. '선택한 필드 만 업데이트'가 선택 해제되어 있는지 확인하십시오.
  7. 확인란 바로 옆의 메뉴에서 새 필드를 선택하십시오.
  8. 필드 메뉴에서 기존 필드를 두 번 클릭하십시오.
  9. 확인을 누르고 수정 사항을 저장하십시오.
  10. * 테이블 관리자 플러그인으로 이동 플러그  테이블  테이블 관리자
  11. 이전 필드 선택 및 삭제
  12. 새 필드의 이름을 이전 필드로 바꿉니다.

* 테이블 관리자 플러그인을 설치해야합니다.


0

YP-kun이 더 철저하게 설명 한 Scro의 솔루션은 저에게 효과적이었습니다. QGIS 3.4에서 한 번의 변경으로 YP-kun의 10 단계와 11 단계에서 테이블 관리자를 사용할 필요가 없습니다 (이전 컬럼 삭제). 사실, 테이블 관리자는 이제 플러그인 관리자에서 사용할 수 없으므로 더 이상 없습니다. 이제 YP-kun의 1-9 단계 후에 레이어의 레이어 속성으로 이동하십시오 (레이어 패널에서 레이어를 두 번 클릭하거나 마우스 오른쪽 버튼을 클릭하고 속성을 클릭하십시오)> 소스 필드> 편집 버튼 클릭> 그런 다음 삭제할 이전 필드를 선택하고 필드 삭제 버튼> 편집 버튼을 다시 클릭하여 편집을 닫고 변경 사항을 저장하십시오. 단일 레이어에서 단일 필드의 길이를 변경하기 위해 많은 과정을 거쳐야 할 것 같습니다.

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