Veel

Algoritmi töötlemine ebaõnnestub Pythoni skriptist

Algoritmi töötlemine ebaõnnestub Pythoni skriptist


Püüan kirjutada Pytooni skripti, mis täidab geoalgoritmi. Mind üllatab järgmine:

  1. Esmalt katsetasin algoritmi QGIS (2.8) liidese abil. Minu puhul on GRASS-i interpolaator v.surf.idw
  2. Näen, et lahendus on teatud parameetrite seadistust kasutades piisavalt hea.
  3. Seejärel käivitan Pythoni skripti abil sama algoritmi samade parameetritega. Minu puhul:

    out_ras = processing.runalg ("rohi: v.surf.idw", vl, 12,2, "field_3", Vale, "% f,% f,% f,% f"% (xmin, xmax, ymin, ymax ), 0,5, -1, 0,001, failiväljund)

kus:

  • vlon punktivektori kiht
  • väli_3on esitatud, kus vlaues tuleb interpoleerida
  • failiväljundon väljundis rasterfail
  • (xmin,, xmax, ymin, ymax)on minu kihi ulatus

See seade (töötab ideaalselt, kui see käivitatakse QGis-liideselt) loob Nodata-väärtuse Rasteri (ainult 1 lahter). Tundub, et algoritm ei tunne sisendis vektorit ära. Olen kontrollinud ka kihi CRS-i (failiga vl.crs (). Authid ()) ja kõik kõlab hästi.

Kas on mingit abi? Kas teil on kogemusi Pythoni juhitava SAME algoritmi erineva käitumise tuvastamiseks töötlemise kaudu QGIS-i kasutajaliidese asemel?


tundub, et minu probleem oli GRASSi algoritmis, mida kasutasin. Nüüd olen liikunud GDAL-i algoritmi nimega "Grid - pöördvõrdeline jõud" ja see töötab. Ma ei tea tegelikult, mis viga oli: minu ainus kahtlus on, et pärast rohu algoritmi käivitamist peaksin loodud mururastri kaardi "teisendama" "loetavaks" rastriks, et see QGisisse õigesti laadida. Sain sellise oletuse aru pärast töötluslogifaili lugemist ja Pythoni-põhise käivitamise tulemuste logi võrdlemist logiga, mis saadi pärast graafilise kasutajaliidese käivitamist. Kuid see on ainult oletus ... lootes, et see võib aidata mõnel teisel kehal GRASSiga mängimist ja töötlemist.