PyQGIS를 사용하여 지오메트리를 사용하여 벡터 레이어를 CSV 파일로 작성 하시겠습니까?


12

파이썬을 사용 하여이 코드로 벡터 레이어 파일을 csv 파일에 쓰려고합니다.

QgsVectorFileWriter.writeAsVectorFormat(mylayer, r'c:\temp\xyz.csv', "utf-8", None, "CSV")

xyz.csv로 내보낼 수 있지만 형상 열이 아닌 속성 만 csv에 표시됩니다.

속성 및 공간 데이터를 csv 파일로 내보내려면 어떻게해야합니까?


1
다음은 같은 질문과 해결책입니다 [link] [1]. [1] : gis.stackexchange.com/questions/43129/…
mete7

질문이 명확하지 않아서 죄송합니다. 내 작품은 파이썬을 pyqgis와 벡터 레이어를 CSV 파일로 사용합니다. csv 파일에 지오메트리가 필요하지만 그렇지 않습니다. 아직도 답변이 필요합니다
Anubiz

내보내려는 벡터 레이어 유형에 따라 다릅니다. 포인트 레이어의 경우 위도 및 경도 값을 속성 테이블 열로 추가 할 수 있습니다. 다른 모든 사람들을 위해 당신은 WKT가 필요합니다
Curlew

Curlew에게 감사합니다. 점과 다각형 레이어로 작업합니다. 포인트 레이어의 경우 속성 테이블에 위도, 경도 열을 추가 하시겠습니까? 다각형은 어떻습니까?
Anubiz

3
이것은 실제로 중복입니까? 이 질문은 특히 파이썬을 목표로하며, 링크 된 답변으로 다루지 않습니다.
Matthias Kuhn

답변:


9

이 게시물에서 비슷한 답변이 제공되었습니다.

QGIS 2.2 및 PyqGIS 모두에 좌표를 사용하여 .csv로 저장

layerOptions ='GEOMETRY=AS_XYZ끝에 추가 하십시오.

layer = QgsVectorLayer("path/to/shapefile", "name", "ogr")
QgsVectorFileWriter.writeAsVectorFormat(layer, r'c:\temp\xyz.csv', "utf-8", None, "CSV", layerOptions='GEOMETRY=AS_XYZ')

안녕하세요,이 문제에 직면하고 있습니다. 콘솔에 입력하면 공간 데이터가 아닌 속성 만 저장됩니다. 그러나 수동으로 저장하면 작동합니다. QGIS 2.14.12를 사용하고 있습니다.
Sunny Naik

2
@SunnyNaik- layerOptions매개 변수에 문자열 값 목록이 필요하지만 단일 값이 충분하기 전에이 게시물에 설명되어 있습니다. 마지막 줄은 다음과 같습니다.QgsVectorFileWriter.writeAsVectorFormat(layer, r'c:\temp\xyz.csv', "utf-8", None, "CSV", layerOptions=['GEOMETRY=AS_XYZ'])
Joseph
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.