프로젝트에 외국어로 명명 된 거대한 레이어 목록이 있습니다. 영어 제목을 번역하고 이름에 추가하고 싶습니다.
레이어를 마우스 오른쪽 버튼으로 클릭 Properties -> General
하고 레이어 이름을 선택 하고 변경하면 레이어 트리에 표시되지만 원본 파일은 동일하게 유지됩니다.
QGIS에서 원본 파일의 이름을 변경하는 방법이 있습니까?
내 폴더에서 모두 검색하는 데 너무 많은 시간이 걸립니다.
프로젝트에 외국어로 명명 된 거대한 레이어 목록이 있습니다. 영어 제목을 번역하고 이름에 추가하고 싶습니다.
레이어를 마우스 오른쪽 버튼으로 클릭 Properties -> General
하고 레이어 이름을 선택 하고 변경하면 레이어 트리에 표시되지만 원본 파일은 동일하게 유지됩니다.
QGIS에서 원본 파일의 이름을 변경하는 방법이 있습니까?
내 폴더에서 모두 검색하는 데 너무 많은 시간이 걸립니다.
답변:
이렇게하려면 i) ToC에서 레이어를 제거하고, ii) Shapefile에 맞는 파일의 이름을 바꾸고 (즉, shp, dbf, shx, prj 등) iii) 이름을 바꾼 레이어를로드해야합니다. QGIS. 그러나 그러한 워크 플로우를 자동화해야합니다!
단계를 보면 테이블 관리자 플러그인의 기능과 유사합니다. 따라서 Shapefiles의 이름을 변경하기 위해 이러한 플러그인 코드를 조정했습니다 . 여기에서 다운로드 할 수 있습니다 .
이 방법으로 사용할 수 있습니다 (먼저 작은 백업 프로젝트로 작동 방법을 확인하십시오).
다음 코드 스 니펫을 복사하십시오.
from rename_shapes import RenameShapefiles
for lyr in iface.mapCanvas().layers():
rn = RenameShapefiles( iface, lyr )
rn.doSave()
그게 다야! GNU / Linux, QGIS 2.6에서 테스트했습니다. ToC의 레이어 순서는 코드를 실행 한 후에 다릅니다.
문제가 있으면 알려주세요.
레이어 순서를 유지 해야하는 경우 새로운 질문을하십시오. 아마도 볼 수 있습니다 :).
R 사용자의 경우 .shp 파일과 관련된 모든 파일의 이름을 일괄 적으로 바꾸는 빠른 R 기능을 작성했습니다. 뼈가 매우 튼튼하고 오류 검사 등이 없으므로 실패하면 약간의 조사가 필요합니다.
# Function to rename shapefile (.shp) and all associated files
# fpath = full file path of any of the associated files (character)
# newName = new name for the files (character)
renameShp <- function(fpath, newName) {
dir <- dirname(fpath)
base <- basename(fpath)
fname <- strsplit(base, '[.]')[[1]][1]
ls <- list.files(path=dir, pattern=fname, full.names=TRUE)
sapply(ls, FUN=function(p){
file.rename(from=p, to=sub(pattern=fname,replacement=newName, p))
})
print(paste("Renamed", length(ls), "files."))
}
이름을 바꾸는 일관된 스키마가 있다면 파이썬 스크립트 에서이 작업을 수행 할 수 있습니다. 파이썬에서 한 가지 방법은 os.rename (src, dest) 입니다. 특정 세부 사항은 파일 이름 바꾸기 알고리즘이 무엇인지에 따라 다릅니다. TOC의 레이어 이름뿐만 아니라 실제 파일의 이름을 변경하기위한 것입니다.
그렇지 않으면 수동으로 이름을 바꾸는 대안을 모릅니다. 번역해야하기 때문입니다. 이론적으로 파이썬으로 번역 사전을 만들 수는 있지만 수동으로 코드를 작성하는 데 시간이 오래 걸릴 수 있습니다. 또한 파일 이름을 바꾸면 데이터 소스가 손상 될 수 있습니다. TOC에서 레이어 이름 만 바꾸면 괜찮을지 모르지만 QGIS에 대해서는 Arc만큼 익숙하지 않습니다.
이 프로그램을 사용하여 파일 이름을 http://www.bulkrenameutility.co.uk/Main_Intro.php 로 바꾸는 것이 좋습니다 . 개방적이고 사용하기 쉽습니다. 파일 이름을 바꾼 후에는 텍스트 편집기를 사용하여 qgis 프로젝트 파일 (메모장 ++을 사용해보십시오)을 열고 동일한 찾기 및 바꾸기를 수행해야합니다.