k***@gmail.com
2018-10-27 17:50:39 UTC
Hello everyone,
Recently i discovered OTB and i am really happy using it. I find some
difficulties to understand how to use TrainVectorClassifier
<https://www.orfeo-toolbox.org/CookBook/Applications/app_TrainVectorClassifier.html>
.
----I will present to you each step i performed successfully:
- At start i downloaded this
<https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip>
shp file from naturalearthdata.com.
- After the unzip i opened in QGIS and i saved as sqlite format.
- The fields from the attribute table of the shp that i am interested in
are: scalerank, labelrank and adm0_dif
- I want to train a classifier according to this recipe
<https://www.orfeo-toolbox.org/CookBook/recipes/pbclassif.html>
otbcli_TrainVectorClassifier -io.vd samples.sqlite
-cfield CODE
-io.out model.rf
-classifier rf
-feat perimeter area width
---I wrote this python 2.7 script (*test.py*) in order to run the TrainVectorClassifier application.
import os
os.environ["PYTHONPATH"] =
"/home/kleanthis/bin/otb/OTB-6.6.0-Linux64/lib/python"
input_polygons='/home/kleanthis/Projects/BUA_classification/2_Processing/Obia_experiments/test_sqlite/ne_110m_admin_0_countries.sqlite'
import otbApplication
TrainVectorClassifier =
otbApplication.Registry.CreateApplication("TrainVectorClassifier")
TrainVectorClassifier.SetParameterString('io.vd', input_polygons)
TrainVectorClassifier.SetParameterString('cfield', 'adm0_dif')
TrainVectorClassifier.SetParameterStringList("feat",
["labelrank","scalerank"] )
TrainVectorClassifier.SetParameterString("classifier", "rf")
TrainVectorClassifier.SetParameterString("io.out",
"/home/kleanthis/Projects/classification/2_Processing/Obia_experiments/Label_segments/rfModel.rf")
TrainVectorClassifier.ExecuteAndWriteOutput()
---The *error* that pops up is the following one:
runfile('/home/kleanthis/Projects/BUA_classification/00_SCR/test.py', wdir='/home/kleanthis/Projects/BUA_classification/00_SCR')
Reloaded modules: otbApplication, _otbApplication
Traceback (most recent call last):
File "<ipython-input-125-8e6203a4c1cf>", line 1, in <module>
runfile('/home/kleanthis/Projects/BUA_classification/00_SCR/test.py', wdir='/home/kleanthis/Projects/BUA_classification/00_SCR')
File "/home/kleanthis/miniconda3/envs/spyderakos/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 678, in runfile
execfile(filename, namespace)
File "/home/kleanthis/miniconda3/envs/spyderakos/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 98, in execfile
builtins.execfile(filename, *where)
File "/home/kleanthis/Projects/BUA_classification/00_SCR/test.py", line 16, in <module>
TrainVectorClassifier.SetParameterString('cfield', 'adm0_dif')
File "/home/kleanthis/bin/otb/OTB-6.6.0-Linux64/lib/python/otbApplication.py", line 1475, in SetParameterString
def SetParameterString(self, *args): return _otbApplication.Application_SetParameterString(self, *args)
RuntimeError: Exception thrown in otbApplication Application_SetParameterString: /home/otbval/dashboard/otb/src/Modules/Wrappers/ApplicationEngine/src/otbWrapperListViewParameter.cxx:141:
itk::ERROR: ListViewParameter(0x55cb7c94f6f0):* Cannot find adm0_dif*
Any advice, suggestion is welcome :)
Thanks in advance,
Kleanthis
--
--
Check the OTB FAQ at
http://www.orfeo-toolbox.org/FAQ.html
You received this message because you are subscribed to the Google
Groups "otb-users" group.
To post to this group, send email to otb-***@googlegroups.com
To unsubscribe from this group, send email to
otb-users+***@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/otb-users?hl=en
---
You received this message because you are subscribed to the Google Groups "otb-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to otb-users+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Recently i discovered OTB and i am really happy using it. I find some
difficulties to understand how to use TrainVectorClassifier
<https://www.orfeo-toolbox.org/CookBook/Applications/app_TrainVectorClassifier.html>
.
----I will present to you each step i performed successfully:
- At start i downloaded this
<https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip>
shp file from naturalearthdata.com.
- After the unzip i opened in QGIS and i saved as sqlite format.
- The fields from the attribute table of the shp that i am interested in
are: scalerank, labelrank and adm0_dif
- I want to train a classifier according to this recipe
<https://www.orfeo-toolbox.org/CookBook/recipes/pbclassif.html>
otbcli_TrainVectorClassifier -io.vd samples.sqlite
-cfield CODE
-io.out model.rf
-classifier rf
-feat perimeter area width
---I wrote this python 2.7 script (*test.py*) in order to run the TrainVectorClassifier application.
import os
os.environ["PYTHONPATH"] =
"/home/kleanthis/bin/otb/OTB-6.6.0-Linux64/lib/python"
input_polygons='/home/kleanthis/Projects/BUA_classification/2_Processing/Obia_experiments/test_sqlite/ne_110m_admin_0_countries.sqlite'
import otbApplication
TrainVectorClassifier =
otbApplication.Registry.CreateApplication("TrainVectorClassifier")
TrainVectorClassifier.SetParameterString('io.vd', input_polygons)
TrainVectorClassifier.SetParameterString('cfield', 'adm0_dif')
TrainVectorClassifier.SetParameterStringList("feat",
["labelrank","scalerank"] )
TrainVectorClassifier.SetParameterString("classifier", "rf")
TrainVectorClassifier.SetParameterString("io.out",
"/home/kleanthis/Projects/classification/2_Processing/Obia_experiments/Label_segments/rfModel.rf")
TrainVectorClassifier.ExecuteAndWriteOutput()
---The *error* that pops up is the following one:
runfile('/home/kleanthis/Projects/BUA_classification/00_SCR/test.py', wdir='/home/kleanthis/Projects/BUA_classification/00_SCR')
Reloaded modules: otbApplication, _otbApplication
Traceback (most recent call last):
File "<ipython-input-125-8e6203a4c1cf>", line 1, in <module>
runfile('/home/kleanthis/Projects/BUA_classification/00_SCR/test.py', wdir='/home/kleanthis/Projects/BUA_classification/00_SCR')
File "/home/kleanthis/miniconda3/envs/spyderakos/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 678, in runfile
execfile(filename, namespace)
File "/home/kleanthis/miniconda3/envs/spyderakos/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 98, in execfile
builtins.execfile(filename, *where)
File "/home/kleanthis/Projects/BUA_classification/00_SCR/test.py", line 16, in <module>
TrainVectorClassifier.SetParameterString('cfield', 'adm0_dif')
File "/home/kleanthis/bin/otb/OTB-6.6.0-Linux64/lib/python/otbApplication.py", line 1475, in SetParameterString
def SetParameterString(self, *args): return _otbApplication.Application_SetParameterString(self, *args)
RuntimeError: Exception thrown in otbApplication Application_SetParameterString: /home/otbval/dashboard/otb/src/Modules/Wrappers/ApplicationEngine/src/otbWrapperListViewParameter.cxx:141:
itk::ERROR: ListViewParameter(0x55cb7c94f6f0):* Cannot find adm0_dif*
Any advice, suggestion is welcome :)
Thanks in advance,
Kleanthis
--
--
Check the OTB FAQ at
http://www.orfeo-toolbox.org/FAQ.html
You received this message because you are subscribed to the Google
Groups "otb-users" group.
To post to this group, send email to otb-***@googlegroups.com
To unsubscribe from this group, send email to
otb-users+***@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/otb-users?hl=en
---
You received this message because you are subscribed to the Google Groups "otb-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to otb-users+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.