Daha çox

QGIS-dən PostGIS-ə (yaddaş) qatını necə yazmaq olar?


Bir piton skriptindən, qgisdən bir qat və bir PostGIS verilənlər bazasının yeni bir cədvəlinə yazmaq üçün "zərif" bir həll axtarıram. Mən bunu həll edə biləcəyimi düşünürəmQgsWriteVectorLayer, amma bunun dəstəkləndiyinə dair bir işarə tapa bilmədim. Yalnız bunun edilə biləcəyi bir həll tapdım, məsələn. ilə Qtsql, lakin sonra bir var:

  1. qatı analiz edin (sahə adları, sahə məlumat növləri, srid, ...)
  2. cədvəl yaratmaq və
  3. cədvəli tarixlə doldurun.

Sual: pygis birbaşa yeni bir PostGIS cədvəlinə tam bir qat yazmaq üçün "sadə" bir həll təklif edirmi?


Verilənlər bazasına yazmaq üçün QgsVectorLayerImport.importLayer () funksiyasından istifadə edilməlidir.

uri = "dbname = 'test' host = localhost port = 5432 user =" user "password =" password "key = gid type = POINT table = " public  ". " test  "(geom) sql =" crs_id = 4326 crs = QgsCoordinateReferenceSystem (crs_id, QgsCoordinateReferenceSystem.EpsgCrsId) # layer - QGIS vector layer error = QgsVectorLayerImport.importLayer (layer, uri, "postgres", crs, False, False) if if: 0 () .pushMessage (u'Hata ', səhv [1], QgsMessageBar.CRITICAL, 5)

Forma şəklinizi bu python əmri ilə bir postgis verilənlər bazasına daxil edə bilərsiniz:

import os #Import shapefile postgis DB os.system-ə ("shp2pgsql -s SRID -c -D -I /path/shape.shp tablename | psql -d dbname -h localhost -U username")

(Yalnız dəyişdirin: SRID (ex 4326), tablename (istənilən ad verin), yol, dbname və istifadəçi adı).


QGIS Atribut cədvəlinə həndəsə əlavə edin

Yerli bir postgreSQL serverindən məlumatlarımı QGIS-ə idxal edirəm. Verilənlər bazasına yüklənmiş verilənlər bazası, CRS (Coodinate Reference System) içərisində olan X və Y sütunu da daxil olmaqla 11 sütundan ibarətdir: EPSG: 21781, CH1903 / LV03. Bu nöqtələri QGIS-də bir təbəqə şəklində qurmağa çalışıram, ancaq "PostGIS qat əlavə et" istifadə edərək idxal etdiyim zaman onu tapmaq üçün "Hədiyyəsi olmayan cədvəlləri də siyahısına əlavə et" düyməsinə basmalıyam. Əlavə edildikdən sonra təbəqə xüsusiyyətlərinə daxil olub düzgün CRS-i seçə biləcəyim bir atribut cədvəli kimi görünür, lakin hələ də düzgün görünmür.

Hələ QGIS və PostgreSQL üçün yeniyəm, səhv bir şey edirəm və ya QGIS-ə gətirməmişdən əvvəl verilənlər bazasındakı koordinatları təyin etməliyəm?


Videoya baxın: QGIS User0015 - PostGIS Setup (Oktyabr 2021).