Vorlage für EnMAP-Box Integration als QGIS Plugin über Processing Provider

Issue #2 closed
Andreas Janz created an issue

Benjamin, schau mal ob wir das nicht ganauso machen können https://github.com/detlevn/QGIS-ConcaveHull-Plugin

Allgemeiner Artikel: http://www.mdpi.com/2220-9964/4/4/2219/htm

Comments (7)

  1. Andreas Janz reporter

    Also das QGIS-ConcaveHull-Plugin demonstriert die Art und Weise wie auch die EnMAP-Box in QGIS integriert werden könnte. Es zeigt, wie man sich in die Toolbar integriert (damit bist du ja bereits vertraut) und zusätzlich zeigt es, wie die EnMAP-Box als externer Algorithmen Provider für das Processing Framework integriert werden kann (analog zu OTB, Orfeo, GRASS,...). Dieser Punkt war uns doch bislang unklar, wie das gehen könnte, oder? Auch zeigt es, wie man für einen Processing Algorithmus eine zusätzliche GUI bereitstellen kann, die dann hübscher ist als die auto-generierte im Processing Framework.

    Vorschlag: wir nehmen den aktuellen EnMAP-Box Prototypen und erweitern diesen um einen Algorithmus der in der Processing Toolbox unter EnMAP-Box->Application->imageSVM eingeordnet wird. Damit spielen wir dann den kompletten Installations-Workflow durch (halt analog zu dem (QGIS-ConcaveHull-Plugin). An diesem Beispiel können wir dann mal für ImageSVM zeigen, wie das mit den hübschen handgebauten vs. hässlichen auto-generierten GUI Dialogen funktioniert.

  2. Benjamin Jakimow

    Das ist doch genau das was wir Gestern besprochen haben? Jede App, z.B. imageML, bekommt ein Interface zum Processing Framework und/oder einen eigenen Dialog, welcher der dann wesentlich leichter zu bedienen ist. Analog ZU GDAL, OTB, GRASS etc.

    Und in der QGIS Dev Doku steht doch drinn wie man das alles machen kann?

    Aber ein schönes Beispiel ist. Es braucht nur noch einen EnMAPBoxProvider der von processing.core.AlgorithmProvider erbt und die processing framework verfügbaren Apps bekannt gibt.

  3. Andreas Janz reporter

    Ah ok, hatte gedacht, dass du da auch noch keinen Plan hast. Gut, dann würde ich sagen, dass wir das mal am Beispiel von imageSVC Fit und imageSVC Predict durchexerzieren:

    Also Box als PlugIn online stellen und nach der Installation gibt es in der Processing Toolbox den Algorithmen Provider EnMAP-Box, die Algorithmen werden dann unter

    EnMAP-Box -> Classification -> imageSVC Fit

    und

    EnMAP-Box -> Classification -> imageSVC Predict

    engeordnet.

    Hier die Algo Schnittstellen definition:

    ##EnMAP-Box=group
    ##imageML: Fit=name
    ##Image=raster 
    ##Labels=raster
    ##Mask=raster
    ##Estimator_Definition= longstring LinearSVC()
    ##Estimator_Definition_from_File=file
    ##Model_File=output file
    

    und für Predict:

    ##EnMAP-Box=group
    ##imageML: Predict=name
    ##Image=raster 
    ##Mask=raster
    ##Model_File=file
    ##Prediction=output raster
    

    Wenn du das bis zu meiner Rückkehr von der EnMAP School einmal durchspielen könntest, das wäre super!

  4. Log in to comment