Daha çox

Python istifadə edərək QGIS -də proqramlı olaraq CRS seçirsiniz?


QGIS 2.4 -ün Python Konsolunda aşağıdakı Python kodunu işlədərkən,

uri = "file: /// C: /data.csv? type = csv & xField = lng & yField = lat & spatialIndex = no & subsetIndex = no & watchFile = no" vlayer = QgsVectorLayer (uri, 'Points', "delimitedtext")

aşağıda göstərildiyi kimi sizə Koordinat Referans Sistemi Seçici açılır pəncərəsi təqdim olunur.

Bunun yolu varmı proqramatik olaraq Bir istifadəçini əl ilə seçmək əvəzinə bir CRS seçin?


Aşağıdakıları sınadıq, amma CRS Seçici dialoq pəncərəsi hələ də görünür.

uri = "file: /// C: /data.csv? type = csv & xField = lng & yField = lat & spatialIndex = no & subsetIndex = no & watchFile = no" vlayer = QgsVectorLayer (uri, 'Points', "delimitedtext") vlayer.setCords (Q34) , QgsCoordinateReferenceSystem.EpsgCrsId))

Sizin vəziyyətinizdə, crs simli kimi URI -ə təyin etmək üçün maddə əlavə edə bilərsiniz& crs = EPSG: 4326.

Kodunuz aşağıdakı kimi görünməlidir:

uri = "file: /// C: /data.csv? type = csv & xField = lng & yField = lat & spatialIndex = no & subsetIndex = no & watchFile = no & crs = EPSG: 4326" vlayer = QgsVectorLayer (uri, 'Points', "de LimitedLext)" () .addMapLayer (oyunçu)

Yuxarıda dediyimiz kimi, QGIS parametrlərinə daxil olaraq alternativiniz var, izləmə parçası əvvəllər təklif etdiyimi edir və layihənizdə müəyyən edilmiş CRS -dən istifadə edir:

PyQt4.QtCore idxal QSettings s = QSettings () ## mümkün dəyərlər bunlardır: tez, useProject, useGlobal s.setValue ("/Projections/defaultBehaviour", "useProject") ## burada kodunuz ##

QSettings'i yuxarıda qeyd edildiyi kimi dəyişdirsəniz diqqətli olun, prosesdən sonra standart dəyəri bərpa etməlisiniz. Bu plagin arxa planda seçimlərimi dəyişdirərsə, bir plaginə nifrət edərdim.

Belə bir şey etməlisiniz:

qgis.PyQt.QtCore import QSettings s = QSettings () # mümkün dəyərlər bunlardır: tez, useProject, useGlobal default_value = s.value ("/Projeksiyonlar/defaultBehaviour") s.setValue ("/Projeksiyonlar/defaultBehaviour", "useProject") ) # burada, qatınızı mapcanvas s.setValue -a əlavə edin ("/Projections/defaultBehaviour", default_value)


Videoya baxın: QGIS using Python Programming for Beginners (Sentyabr 2021).