Classify an OGR layer based on a machine learning model and a list of features to consider.

Detailed description

This application will apply a trained machine learning model on the selected feature to get a classification of each geometry contained in an OGR layer. The list of feature must match the list used for training. The predicted label is written in the user defined field for each geometry.


This section describes in details the parameters available for this application. Table [1] presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is OGRLayerClassifier .

[1]Table: Parameters table for OGRLayerClassifier.
Parameter Key Parameter Type Parameter Description
inshp Input vector data Input vector data
instats Input File name Input File name
insvm Output File name Output File name
feat List List
cfield String String
inxml XML input parameters file XML input parameters file
outxml XML output parameters file XML output parameters file
  • Name of the input shapefile: Name of the input shapefile.
  • XML file containing mean and variance of each feature.: XML file containing mean and variance of each feature.
  • Input model filename.: Input model filename.
  • Features: Features to be calculated.
  • Field containing the predicted class.: Field containing the predicted class.
  • Load otb application from xml file: Load otb application from xml file.
  • Save otb application to xml file: Save otb application to xml file.


To run this example in command-line, use the following:

otbcli_OGRLayerClassifier -inshp vectorData.shp -instats meanVar.xml -insvm svmModel.svm -feat perimeter -cfield predicted

To run this example from Python, use the following code snippet:


# Import the otb applications package
import otbApplication

# The following line creates an instance of the OGRLayerClassifier application
OGRLayerClassifier = otbApplication.Registry.CreateApplication("OGRLayerClassifier")

# The following lines set all the application parameters:
OGRLayerClassifier.SetParameterString("inshp", "vectorData.shp")

OGRLayerClassifier.SetParameterString("instats", "meanVar.xml")

OGRLayerClassifier.SetParameterString("insvm", "svmModel.svm")

# The following line execute the application


Experimental. Only shapefiles are supported for now.


This application has been written by David Youssefi during internship at CNES.

See Also

These additional resources can be useful for further information: