0

Can I edit this code below to show only point layers?

This is being used in a Plugin for QGIS 2.

I am creating if that makes any difference.

self.addParameter(ParameterVector(self.INPUT, self.tr('Input layer'), [ParameterVector.VECTOR_TYPE_ANY]))

1 Answer 1

1

Answer for QGIS 2.18

You can according to the QGIS code base by using ParameterVector.VECTOR_TYPE_POINT instead of ParameterVector.VECTOR_TYPE_ANY. You need to do import using from processing.core.parameters import ParameterVector

Info extracted from QGIS 2.18 code base file https://github.com/qgis/QGIS/blob/ltr-2_18/python/plugins/processing/script/ScriptAlgorithm.py#L203

For QGIS 3.x, it should be

# At the top of your file
from qgis.core import QgsProcessing

self.addParameter(
    QgsProcessingParameterFeatureSource(
        self.INPUT,
        self.tr('Input layer'),
        [QgsProcessing.TypeVectorPoint]
    )
)

The enum for other types of geometry for QGIS 3 can be seen in https://qgis.org/api/classQgsProcessing.html#acad4d2322342455b53eee5701e2b3115

3
  • That's what I thought but still not working. Tried LINE and POLYGON. It's not filtering so I guess there is an issue with my "bindings"? I am using Qgs Widgets in QT designer, renamed the map layer combo box to INPUT but always get all layers?
    – Clutch
    Commented May 2, 2020 at 18:13
  • Normal, you are mixing things. The "map layer combo box" is using the class QgsMapLayerComboBox. If you want to filter, you have to set filters like at webgeodatavore.github.io/pyqgis-samples/gui-group/… You will need to replace in the sample, the line map_layer_combo_box.setFilters(QgsMapLayerProxyModel.VectorLayer) with map_layer_combo_box.setFilters(QgsMapLayerProxyModel.PointLayer). The sample code you mentioned is for processing algorithms
    – ThomasG77
    Commented May 2, 2020 at 22:06
  • Thx Thomas, yea I was also creating a script based on that method as well. Seems if I go the Parameter route I get the errors like above and if go Qgs route I get unrecognized module errors? So I have been battling this for many weeks with no success. Should anyone care to help set me straight via Skype would much [email protected].
    – Clutch
    Commented May 4, 2020 at 1:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.