DB-Manager에서 테이블을 편집 한 후 레이어의 속성 테이블을 새로 고치는 방법은 무엇입니까?


14

DB-Manager에서 테이블을 편집 한 후 (예 : 열 추가) 레이어의 속성 테이블을 새로 고칠 수있는 방법이 있습니까?


changeDataSource 플러그인은 가장 빠른 방법이며 .csv 파일과 잘 작동합니다.
scataldi

답변:


13

짧고 달다:

  1. changeDataSource 플러그인을 설치 하십시오 .
  2. 레이어 패널에서 레이어를 마우스 오른쪽 버튼으로 클릭하고을 선택 Change vector datasource합니다.
  3. 나타나는 대화 상자 OK에서 설정을 변경하지 않고 누르십시오 .

기본적으로, 벡터 데이터 소스를 기존 데이터로 "변경"하고 있지만 QGIS는 레이어 정의를 다시로드해야합니다.

Linux Mint 17.2의 QGIS 2.14에서 테스트되었습니다.


작동하려면 동일한 데이터 소스를 다시 선택해야했습니다.
sladstaetter

4

PostGIS 데이터베이스로 작업한다고 가정하면 다음 ANALYSE함수 를 사용하여 관심있는 테이블의 통계를 업데이트 할 수 있습니다 . http://www.postgresql.org/docs/current/static/sql-analyze.html

귀하의 경우 첨부 된 이미지에 표시된 버튼을 누르고 ANALYSE창 에서 명령문을 실행하여 DB 관리자 내부에서 명령문을 실행할 수 있습니다 . 쿼리는 것 ANALYSE yourschema.yourtable국지적 그래서 당신이 정보에 액세스 할 때 다시 변경 사항을 반영해야한다는 당신이 만든 한 명령은 테이블을 업데이트해야합니다 분석 할 수 있습니다. DB 관리자 창


1
이것은 속성 테이블을 새로 고치지 않습니다 (레이어-> 속성 테이블 열기를 마우스 오른쪽 버튼으로 클릭하십시오).
Lunar Sea

2

열을 변경 한 후 QGIS에서 테이블을 새로 고치려는 경우 잘 이해하고 있습니까?

내가 아는 한 프로젝트를 닫았다가 열거 나 테이블을 다시 추가하면 이것이 가능합니다. 가장 빠른 방법 일 수있는 기본 스타일을 데이터베이스에 저장 한 한.

필드 계산기를 사용하여 열을 추가하면 변경 사항이 즉시 표시되지만 DB 관리자는 필드 유형을 정의하는 데 더 많은 제어 기능을 제공하므로 이것이 솔루션이 아닌 이유를 이해합니다.


속성 테이블을 새로 고치는 Python 명령이 있습니까? 또한 '기능 개수 표시'는 DB-Manager의 변경 사항 (기능 추가 / 삭제 기능)을 무시합니다.
음력 바다

3
layer.dataProvider().forceReload()트릭해야
마티아스 쿤
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.