Is it possible to perform a vector machine classification of raster image using the ArcGIS software package. This supervised classification method is available in the ENVI software but not for ArcGIS.

I have integrated the ENVI toolbox into my ArcCatalog Toolbox set. While the ENVI toolbox offers me the tools to perform supervised classification using four different methods, it does not include the Vector Machine Classification Method.

Since, I've access to an ArcGIS license but not an ENVI license, I am looking to access this functionality in ArcGIS. Any suggestions on how this can be achieved?


You may use this tool in ArcGIS:

Train Support Vector Machine Classifier

Generate an Esri classifier definition (.ecd) file using the Support Vector Machine (SVM) classification definition.

| improve this answer | |
  • Actually I think that @Aditya is referring to "Support Vector Machines", which are not available in ArcGIS nor the ArcGIS ENVI Toolbox. – Jeffrey Evans Jun 17 '13 at 14:22
  • Support Vector Machines is supervised machine learning. – HeikkiVesanto Aug 2 '17 at 9:29

The SVM model is a fairly complex with no direct implementation in ArcGIS. You can access the model using the Python machine learning library (PyML) and script a solution within ArcGIS. Although, I have no idea how this Python library will handle array data. You will likely have to coerce the data into a vector and then back into an array/matrix. You should be able to do this via NumPy.

Keep in mind that the base implementation of SVM's in this Python library are based on a linear margin vector soultion, likely using large margin separation. If you want a nonlinear model you will need to implement Kernel SVM's. I believe that this is possible in PyML.

I specify Kernel Support Vector models using the kernlab library in R, which will handle matrix input.

| improve this answer | |
  • In python you also have SVM implementations in OpenCV and scikit-learn. Worth investigating which implementation is the best to interact with ArcGIS. – HeikkiVesanto Aug 2 '17 at 9:31

It is possible since version 10.3. Although it requires a Spatial Analyst License


| improve this answer | |

There is an ArcgisToolbox built for Arcgis 10.1 freely available here

Seems it is developed for the multispectral raster classification or multi band raster classification..

I've just tried for some single band raster, just to check and actually got an error related to file mosaic'ing.. and renameing file (248 line). If you just change the name if should be overnamed to, all works ok. Replace the 248 line with this:

arcpy.Rename_management(outputlist[0], outputpath + '\' + outputname + '1')

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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