Vairāk

Skeletizēt vektorus QGIS/Python

Skeletizēt vektorus QGIS/Python


Es cenšos atrast rīku, lai izveidotu lielas vektoru datu kopas skeletu, izmantojot QGIS un tās saišķi. Tam vajadzētu būt tieši programmatiski izsaucamam, izmantojot Python vai komandrindu (viss ir kārtībā ar QGIS, GRASS, OGR utt.).

Mērķis ir liels plāns daudzstūris ar caurumiem, kas attēlo ielu teritorijas, un man ir nepieciešams iegūt ceļu tīkla tuvinājumu, izmantojot skeletonizāciju.

Ko līdz šim esmu atradis:

  • GRASS 7.0 irv. skeletskam vajadzētu būt pietiekami labam, bet šķiet, ka tuvākajā nākotnē tas nav paredzēts integrācijai ar QGIS.
  • Protams, CGAL ir skeletonizācijas algoritmi, taču Python atbalsts ir ļoti vājš.
  • pySkeleton man nedarbojas, un man, iespējams, nav laika glābt kodu.

Citas alternatīvas (openJump skeletonizators, šis vecais ArcGIS spraudnis ...) nevar viegli pievienot QGIS/Python.

Kādi citi ieteikumi?


Šajā dokumentā "Daudzstūru skeletizēšana, izmantojot PostGIS" ir aprakstīts process, kurā tiek izmantoti rīki no PostGIS un ZĀLE, abas varētu būt izsaucamam. Tajā minēts PostGIS izmantošana, lai izveidotu vektoru skeletu, un tā tīrīšana, izmantojot PostGIS vēlreiz vai GRASS.

Ir jau esoši rīki no Apstrādes rīkkopa kas, cerams, vienkāršo lietas, zvanot no Python/komandrindas, piemēram:

  • Importēt PostGIS - izmantojiet, lai importētu savu datu kopu.

  • PostGIS izpilda SQL - izmantojiet, lai palaistuST_StraightSkeletonfunkciju.

  • v. tīrs - izmantojiet, lai palaisturmdanglerīks.

Ceru tas palīdzēs!


Viena, nedaudz apļveida iespēja varētu būt izmantot SAGA režģa skeleta veidošanas moduli (http://www.saga-gis.org/saga_module_doc/2.1.3/imagery_segmentation_1.html), izmantojot QGIS vai komandrindu.sāga_cmdlietderība. Vispirms daudzstūris jāpārvērš par SAGA rastru.

Pretējā gadījumā, kā norādīja @Alfa-beta-zupa, jūs varētu izmantotv. skeletsno GRASS komandrindā.

Lai izmantotu komandrindas rīku no Python, izmantojietapakšprocessmoduli, lai komandrindu nodotu sistēmai.


Skatīties video: QGIS Python PyQGIS - Get vector geometry