Vairāk

Vai vienlaikus eksportējat vairākus failus QGIS?


QGIS man ir atvērts daudz .TAB failu, un es vēlos tos saglabāt .SHP, lai varētu strādāt ar tiem ArcMap.

Vai ir veids, kā saglabāt / eksportēt visus šos failus vienlaikus, vai man tiešām ir jāsaglabā atsevišķi kā katrs fails?


Izmēģiniet šo Frida:

  1. Izveidojiet mapi, kurā tur glabāt savus Shapefiles failus (piemēram, es esmu izveidojis mapi/ tmp / data /, Es izmantoju GNU / Linux).

  2. Programmā QGIS atveriet QGIS Python konsoli.

  3. Uzrakstiet šo rindu, rediģējot labo pusi, lai tas atbilstu pilnam mapes ceļam (pārliecinieties, ka esat iekļāvis slīpsvītru / atpakaļsvītru):

    myDir = '/ tmp / dati /'

  4. Nospiediet Enter.

  5. Nokopējiet šīs rindas QGIS Python konsolē:

    vLayer for iface.mapCanvas (). layer (): QgsVectorFileWriter.writeAsVectorFormat (vLayer, myDir + vLayer.name () + ".shp", "utf-8", vLayer.crs (), "ESRI Shapefile")
  6. Pāris reizes nospiediet Enter.

Tagad jūsu Shapefiles faili ir jāatrodas mapē, kuru izveidojāt 1. darbībā.

Ja rodas problēmas, dariet man zināmu savu OS un pilnu ceļu uz mapi.


from qgis.core importēt * sufikss = "_foo" pathToFile = "/ ceļš / uz / kur /" slāņi = iface.legendInterface (). slāņi () slānim slāņos: newName = layer.name () + sufikss + ". shp "ret = QgsVectorFileWriter.writeAsVectorFormat (slānis, pathToFile + newName," utf-8 ", None," ESRI Shapefile "), ja ret == QgsVectorFileWriter.NoError: print newName +" saglabāts mapē "+ pathToFile +"! "

Rastra slānim izmantojiet QgsRasterFileWriter

€: Detalizētāku piemēru varat atrast pavārgrāmatā.


Tikai neliels papildinājums: Ja vēlaties mainīt arī eksportētā faila DRS un pievienot vēl dažus prefiksus un sufiksus, skriptu var mainīt šādi:

no qgis.core importēt * importēt os pathToFile = "S:  ceļš " trs = QgsCoordinateReferenceSystem () trs.createFromId (31370) sufikss = "_Lambert1972_Versie2016-01-04" prefikss = "Transect_Vuursalamander_" slāņi = ifaceace ) .layers () slānim slāņos: newName = prefikss + layer.name () + sufikss + ".shp" ret = QgsVectorFileWriter.writeAsVectorFormat (layer, pathToFile + newName, 'utf-8', trs, 'ESRI Shapefile' ) if ret == QgsVectorFileWriter.NoError: drukāt newName + "saglabāts mapē" + pathToFile + "!"

31370 var aizstāt ar DRS EPSG, kurā vēlaties eksportēto failu.


vai tas ir iespējams arī ar .gpkg-Layers uz .xlsx?

ES mēģināju:

vLayer failā iface.mapCanvas (). slāņi (): QgsVectorFileWriter.writeAsVectorFormat (vLayer, myDir + vLayer.name () + ".xlsx", "utf-8", vLayer.crs ())

Bet es saņemu šo kļūdas ziņojumu:

"Neizdevās izveidot datu avotu (OGR kļūda: sqlite3_open (P:  x01_Projektordner  x819  x819128_IEK_Augsburg  x05_Daten  GIS  Shape  FNP_bestand_nach Gemeinden_Tabellengemeinde_Adelsried.xlsx.gpkg) neizdevās


Skatīties video: QGIS การตดขอมลเวกเตอรในโปรแกรม QGIS How to clip vector layer by QGIS (Oktobris 2021).