Kelas Kelas - panickspa/SimilarityPlugin GitHub Wiki

Semua methode dan attribute pada class yang ada pada plugin ini

CalculationModule

    killed: bool

        # Status worker apakah mati atau tidak

    layer : class QgsVectorLayer

        # Layer pertama yang orisinil

    layerDup : class QgsVectorLayer

        # Duplikasi dari layer pertama dan sebagai hasil dari pemeriksaan
    
    layerResult : class QgsVectorLayer

        # sebagai hasil dari pemeriksaan dari layer pertama

    layer2 : class QgsVectorLayer

        # Layer kedua yang orisinil

    layer2Dup : class QgsVectorLayer

        # Duplikasi dari layer kedua

    layerResult2 : class QgsVectorLayer  
        
        # sebagai hasil dari pemeriksaan dari layer kedua


     method : int
    
      # Index metode yang terpilih
    
     radius : float

      # Radius untuk metode NN

    similarLayer : list=[]

      # Hasil dari pemeriksaan kesamaan peta, index nol adalah id dari fitur layer pertama, index pertama adalah id dari fitur layer kedua, index kedua adalah skor tingkat kesamaannya

     suffix : str

      # Nama belakang untuk layer yang diduplikasi

     scoreName : str

      # Nama attribut untuk layer yang diduplikasi

    translate : bool

      # Status untuk pengecekan dengan menggeser geometri pada metode Wilkerstat

    treshold : float
    
      # Treshold yang ditentukan

    def setTreshold(self, treshold:float)
      """
      Menentukan treshold
      """
      float treshold # Treshold yang ditentukan
      return None

    def setLayers(self, layer:QgsVectorLayer, layer2:QgsVectorLayer)
      """
      Menyetel layer-layer yang orisinil
      """
      class QgsVectorLayer layer # Layer pertama yang orisinil 
      class QgsVectorLayer layer2 # Layer kedua yang orisinil
      return None

    def setMethod(self, method:int)
      """
      Menyetel attribut method
      """
      int method # Index metode yang terpilih
      return None

    def setTranslate(self, translate:bool)
      """
      Menyetel attribut translate
      """

      bool translate #Translate Statement
      return None

   def setRadius(self, radius:float)
      """
      Menyetel attribut radius
      """
      float radius # Radius yang ditentukan oleh user
      return None

   def setSuffix(self, suffix:str)
      """
      Menyetel attribut suffix
      """

      str suffix # nama belakang untuk layer yang diduplikasi
   
   def setScoreName(self, scoreName:str)
      """
      Menyetel attribut scoreName
      """

      # Parameters
      str suffix # nama attribut untuk layer yang diduplikasi pada attribut tabelnya
      
   
   def getSimilarLayer(self)
      """
      Mendapatkan attribut self.similarLayer
      """
      return self.similarLayer #List-nya
   
   def getLayers(self)
      """
      Mendapatkan semua layer yang original
      """
      return [self.layer, self.layer2] # List-nya
   
   def getLayersDup(self)
      """
      Mendapatkan semua layer yang diduplikasi
      """
      return [self.layerDup, self.layer2Dup] # List-nya
      
   
   def setLayer(self, layer:QgsVectorLayer, layer2:QgsVectorLayer)
      """
      Menyetel kedua layer yang orisinil
      """
      # Parameters
      class QgsVectorLayer layer # Layer pertama
      class QgsVectorLayer layer2 # Layer kedua
      return None
   
   def duplicateLayer(self, currentLayer:QgsVectorLayer, suffix:str, scoreName:str)
      
      """
      Menduplikasi layer dan menyimpannya sebagai layer sementara
      """

      # Parameters
         class QgsVectorLayer currentLayer # Target layer
         str suffix # nama belakang layer
         str scoreName # nama attribut skor di layer
         return class QgsVectorLayer

   def __addFeatureResult(self, feature:QgsFeature, feature2:QgsFeature, score:float)

      # Menambah hasil fitur yang diperiksa kedalam layer

      # Parameters

        QgsFeature feature # Fitur pertama
        QgsFeature featuer2 # Fitur kedua
        float score # Skornya

   def __calcMapCurvesGeom(self, g:QgsGeometry, g2:QgsGeometry)

        # Calculate the score between the geometry in float number using GOF Mapcurves (Hargrove et al. 2006)
   
        # Parameters
    
        feature : class QgsFeature # Masukkan geometri pertama

        feature2 : class QgsFeature # Mukkan geometri kedua
            
        return null

    def __calcMapCurves(self, feature:QgsFeature, feature2:QgsFeature)

        # Penghitungan skor dan menyimpannya pada self.similarLayer. Skor akan disimpan berbentuk angka float dengan metode GOF Mapcurves (Hargrove et al. 2006)
    
        # Parameters
    
        feature : class QgsFeature # Masukkan fitur pertama

        feature2 : class QgsFeature # Masukkan fitur kedua
            
        return null
   
   def __calculateSq(self, layer:QgsVectorLayer, layer2:QgsVectorLayer)

        # Memeriksa kesamaan peta pada kedua layer dengan metode squential

        # Parameters
   
        layer : class QgsVectorLayer # Masukkan layer pertama

        layer2 : class QgsVectorLayer # Masukkan layer kedua
         
        return null
   
   def __calculateKNN(self, layer:QgsVectorLayer, layer2:QgsVectorLayer)

        # Memeriksa dua fitur dalam bounding box tertentu. Raidus ditentukan oleh pengguna.

        # Parameters
   
        layer : class QgsVectorLayer # Masukkan layer pertama

        layer2 : class QgsVectorLayer # Masukkan layer kedua
         
        return null

   def __calculateWK(self, layer:QgsVectorLayer, layer2:QgsVectorLayer)

        # Memeriksa kesamaan dengan memasangkan primary key setiap fitur pada kedua layer. Info lebih lanjut lihat https://sig.bps.go.id/
   
        # Parameters
   
        layer : class QgsVectorLayer # Masukkan layer pertama

        layer2 : class QgsVectorLayer # Masukkan layer kedua
         
        return null

   def translateCenterGeom(self, g:QgsGeometry, target:QgsGeometry) #
   
        # Menggeser geometri g ke tengah-tengah geometri target

        # Parameters
   
        layer : class QgsGeometry # Masukkan layer pertama

        layer2 : class QgsGeometry # Masukkan layer kedua
         
        return null
   

Class: SimilarityPlugin

    layer : class QgsVectorLayer

      #  Layer pertama

    layer2 : class QgsVectorLayer

      #  Layer kedua

    iface : iface

      # Menyimpan reference pada QGIS interface

    plugin_dir : str

      # initialize plugin directory

    dlg : class SimilarityPluginDialog

      # Main plugin dialog

    similarLayer : list = [] 

      # Hasil proses kalkulasi

    previewLayer : int = 0

      # Index similarLayer yang sekarang ditampilkan pada canvas

    def tr(self, message)
      """Get the translation for a string using Qt translation API.

      We implement this ourselves since we do not inherit QObject.

      :param message: String for translation.
      :type message: str, QString

      :returns: Translated version of message.
      :rtype: QString
      """
      # noinspection PyTypeChecker,PyArgumentList,PyCallByClass
      return QCoreApplication.translate('SimilarityPlugin', message)
   
    def add_action(
        self,
        icon_path,
        text,
        callback,
        enabled_flag=True,
        add_to_menu=True,
        add_to_toolbar=True,
        status_tip=None,
        whats_this=None,
        parent=None)

      """Add a toolbar icon to the toolbar.

        :param icon_path: Path to the icon for this action. Can be a resource
            path (e.g. ':/plugins/foo/bar.png') or a normal file system path.
        :type icon_path: str

        :param text: Text that should be shown in menu items for this action.
        :type text: str

        :param callback: Function to be called when the action is triggered.
        :type callback: function

        :param enabled_flag: A flag indicating if the action should be enabled
            by default. Defaults to True.
        :type enabled_flag: bool

        :param add_to_menu: Flag indicating whether the action should also
            be added to the menu. Defaults to True.
        :type add_to_menu: bool

        :param add_to_toolbar: Flag indicating whether the action should also
            be added to the toolbar. Defaults to True.
        :type add_to_toolbar: bool

        :param status_tip: Optional text to show in a popup when mouse pointer
            hovers over the action.
        :type status_tip: str

        :param parent: Parent widget for the new action. Defaults None.
        :type parent: QWidget

        :param whats_this: Optional text to show in the status bar when the
            mouse pointer hovers over the action.

        :returns: The action that was created. Note that the action is also
            added to self.actions list.
        :rtype: QAction
        """

    def initGui(self)
      """Create the menu entries and toolbar icons inside the QGIS GUI."""
   
    def unload(self)
      """Removes the plugin menu item and icon from QGIS GUI."""

    def methodChange(self)
      # interaksi saat method combo box berubah
   
    def resultPreview(self)
      #  Mengaktifkan preview section

    def attrPrinter(self, fieldList: object, feature: QgsFeature, place: QTextEdit)
      # Menampilkan nilai attribut pada fitur yang ditentukan pada tempat tertentu
      # Print feature atrribute info on text edit in preview section

      # Parameters:
            
         fieldList : object  # Isian atribut berbentuk objek

         feature : class QgsFeature # Fitur yang akan ditampilkan nilai atributnya

         place : class QTextEdit # Tempat dimana nilai atribut diletakkan

    def refreshPreview(self)

      # menggambar kembali geometri pada kanvas

    def nextPreview(self)

      # fitur selanjutnya

    def nextPrevious(self)

      # fitur sebelumnya

    def rmFeatResult(self)

      # menghapus hasil yang sekarang ditampilkan pada daftar semua hasil (self.similarLayer)

    def rmWarn(self)

      # Perngiatan untuk mencegah penghapusan secara tidak sengaja

    def methodChange(self)
      # interaksi saat method combo box berubah

    def resultPreview(self)
      #  Mengaktifkan preview section

    def attrPrinter(self, fieldList: object, feature: QgsFeature, place: QTextEdit)
      # Menampilkan nilai attribut pada fitur yang ditentukan pada tempat tertentu
      # Print feature atrribute info on text edit in preview section

      # Parameters:
            
         fieldList : object  # Isian atribut berbentuk objek

         feature : class QgsFeature # Fitur yang akan ditampilkan nilai atributnya

         place : class QTextEdit # Tempat dimana nilai atribut diletakkan

    def refreshPreview(self)

      # menggambar kembali geometri pada kanvas

    def nextPreview(self)

      # fitur selanjutnya

    def nextPrevious(self)

      # fitur sebelumnya

    def rmFeatResult(self)

      # menghapus hasil yang sekarang ditampilkan pada daftar semua hasil (self.similarLayer)

    def rmWarn(self)

      # Perngiatan untuk mencegah penghapusan secara tidak sengaja

    def addScoreItem(self)

      # Menambahkan nilai skor pada hasil

    def registerToProject(self)

      # Interaksi ketika self.dlg.saveBtn diklik

    def finishedCalcThread(self, itemVal)

      # Signal saat self.calcTask selesai

    def stopCalcThread(self)

      # Signal saat self.calcThread berhenti

    def errorCalcThread(self)
      
      # Signal saat self.calcTask error

    def setLayers(self, layers:list)

      #  Menyetel attribut layer pertama dan kedua

      # Parameter
      list layers=[QgsVectorLayer, QgsVectorLayer]:
      return None
   

Class: SimilarityPluginDialog

   attrOutlineEdit : class QLineEdit

      # Tempat untuk memberikan nama skor pada attribut tabel dalam bentuk string (teks).

   calcBtn : class QPushButton

      # Tombol untuk eksekusi pemeriksaan

   layerSel1 : class QgsMapComboBox

      # Combo Box untuk memilih layer pertama

   layerSel2 : class QgsMapComboBox

      # Combo Box untuk memilih layer kedua

   lineEditTreshold : class QDoubleSpinBox

      # Masukkan untuk treshold tingkat kesamaan peta

   mainTab   : class QWidget

      # Tab utama

   mergeCenterCheck : class QCheckBox

      # Check box untuk pemeriksaan dengan menggeser geometri ke geometri pasangannya

   methodComboBox : class QCheckBox

      # Combo box untuk memilih metode untuk pemeriksaan peta

   nextBtn : class QPushButton

      # tombol untuk menampilkan hasil selanjutnya

   nnRadiusEdit : class QDoubleSpinBox

      # Tempat untuk memasukkan radius bounding box yang ditentukan oleh pengguna untuk metode NN

   sufLineEdit  : class QLineEdit

      # Tempat untuk memasukkan nama suffix layer

   previewAttr : class QTextEdit

      # menampilkan nilai attribut pada fitur yang sedang di lihat

   previewAttr_2 : class QLineEdit

      # Previewing attribute current feature in second layer

   previousBtn : class QPushButton

      # tombol untuk menampilkan hasil sebelumnya

   progressBar : class QProgressBar

      # untuk menampilkan progress pemeriksaan

   SimilarityPluginDialogBase : class QDialog

      # Dialog dasar untuk plugin

   tabWidget : class QTabWidget

      # Tab widget di plugin

   widgetCanvas : class QgsMapCanvas

      # Canvas widget di preview section untuk menampilkan hasilnya

   stopBtn : class PushButton
      
      # Button for stoping the calculation

Class: WarnDialog

   msgLabel : class QLabel

      # Tulisan pesan peringatan

   noBtn : class QPushButton

      # Tombol untuk tidak setuju

   yesBtn : class QPushButton

      # Tombol untuk setuju

Class: SimpleWarningDialog

   msgLabel : class QLabel

      # Pesan yang ditampilkan

   okBtn : class QPushButton

      # Tombol untuk kondisi ok