[QGIS-trac] Re: [Quantum GIS] #2987: Auto GCP detection library
Quantum GIS
qgis at qgis.org
Mon Oct 18 04:02:32 EDT 2010
#2987: Auto GCP detection library
--------------------------------+-------------------------------------------
Reporter: jamesm6162 | Owner: timlinux
Type: patch | Status: assigned
Priority: minor: annoyance | Milestone: Version 1.6.0
Component: C++ Plugins | Version: Trunk
Keywords: | Platform_version:
Platform: Debian | Must_fix: No
Status_info: 0 |
--------------------------------+-------------------------------------------
Comment(by timlinux):
Hi
I upgraded both the lib parts and the plugin parts. A couple of new
comments:
- it would be nice to persist the last used dir for reference and raw
images separately since these will often be in separate directories.
- It would be nice to have an option to simply georeference the image (as
opposed to orthorectify it) for those that dont have a dem handy.
- I still get a crash when trying to gather GCP's between two images. The
data is not publically shareable, so I will mail you a copy offlist.
- It would still be nice to have a 'zoom to image' tool on the toolbars.
- Thanks for updating to use the built in CRS selector from QGIS - much
better usability.
{{{
Debug: qgsautogcpmanager.cpp: (QgsAutoGCPManager::extractControlPoints())
Starting Control Point Extraction
Debug: Analyzer Starting GCP extraction
Debug: Levels: 5
Debug: Chip Cache Size = 5 of 256 elements
Debug: Wavelet Iterations: 296 x 352
Debug: Dividing image into 7 X 7 grids
Debug: Extracting GCP Chips
Debug: GCP Extraction Complete
Debug: ++++++++++++++++++++++++11
Debug: Analyzer Starting GCP extraction
Debug: Levels: 5
Debug: Chip Cache Size = 5 of 256 elements
Debug: Wavelet Iterations: 221 x 260
Debug: Dividing image into 56 X 56 grids
Debug: Extracting GCP Chips
Debug: GCP Extraction Complete
Program received signal SIGSEGV, Segmentation fault.
0x00007fffd34c9254 in QList<QgsGcp*>::detach (this=0x86333e0) at
/usr/include/qt4/QtCore/qlist.h:122
122 inline void detach() { if (d->ref != 1) detach_helper(); }
}}}
backtrace:
{{{
#0 0x00007fffd34c9254 in QList<QgsGcp*>::detach (this=0x86333e0) at
/usr/include/qt4/QtCore/qlist.h:122
#1 0x00007fffd34c8d99 in QList<QgsGcp*>::append (this=0x86333e0,
t=@0x69109b8) at /usr/include/qt4/QtCore/qlist.h:468
#2 0x00007fffd327a9cf in QList<QgsGcp*>::push_back (this=0x86333e0,
t=@0x69109b8) at /usr/include/qt4/QtCore/qlist.h:277
#3 0x00007fffd3279e2e in QgsImageAnalyzer::QgsGrid::fillGrid
(this=0x49121c0, gcpSet=0x61f9f30)
at /home/timlinux/dev/cpp/qgis/src/autogcp/qgsimageanalyzer.cpp:521
#4 0x00007fffd327821d in QgsImageAnalyzer::matchGcps (this=0x4091630,
gcpSet=0x5f58180)
at /home/timlinux/dev/cpp/qgis/src/autogcp/qgsimageanalyzer.cpp:127
#5 0x00007fffd3270b9e in QgsAutoGCPManager::matchControlPoints
(this=0x44fa290) at
/home/timlinux/dev/cpp/qgis/src/autogcp/qgsautogcpmanager.cpp:138
#6 0x00007fffd34ddd3f in meth_QgsAutoGCPManager_matchControlPoints
(sipSelf=<QgsAutoGCPManager at remote 0x43ff7c0>, sipArgs=())
at sipautogcppart3.cpp:1361
#7 0x00007fffd67e1030 in call_function (f=
Frame 0x408b230, for file
/home/timlinux/.qgis/python/plugins/autogcp/guibase.py, line 1235, in
matchGcps (self=<Ui_MainWindow(dockWidgetContents_2=<QWidget at remote
0x43fb490>, dockWidgetContents_3=<QWidget at remote 0x43fbaf0>,
rawMapCanvas=<QgsMapCanvas at remote 0x43fbd10>, actionTest1=<QAction at
remote 0x43fe160>, menuSettings=<QMenu at remote 0x43f67c0>,
actionTest2=<QAction at remote 0x43fe270>, actionAbout=<QAction at remote
0x43fd7c0>, menubar=<QMenuBar at remote 0x43f65a0>, menuHelp=<QMenu at
remote 0x43f6628>, actionZoomInAll=<QAction at remote 0x43fec88>,
actionDetectGCP=<QAction at remote 0x43fd380>, actionZoomOutAll=<QAction
at remote 0x43fed10>, bandCount=<QString at remote 0x43e68d8>,
refLayer=<QgsRasterLayer at remote 0x43feaf0>, actionZoomOut2=<QAction at
remote 0x43fe518>, rawScaleText=<QLineEdit at remote 0x43fd050>,
actionShowRefImage=<QAction at remote 0x43fe958>, gcpItems=[],
sqlitePath=<QString at remote 0x43e6460>,
settings=<AutoGcpSettings(sqliteChoice=0, markerIconType=0,
selected...(truncated),
throwflag=<value optimized out>) at ../Python/ceval.c:3750
#8 PyEval_EvalFrameEx (f=
Frame 0x408b230, for file
/home/timlinux/.qgis/python/plugins/autogcp/guibase.py, line 1235, in
matchGcps (self=<Ui_MainWindow(dockWidgetContents_2=<QWidget at remote
0x43fb490>, dockWidgetContents_3=<QWidget at remote 0x43fbaf0>,
rawMapCanvas=<QgsMapCanvas at remote 0x43fbd10>, actionTest1=<QAction at
remote 0x43fe160>, menuSettings=<QMenu at remote 0x43f67c0>,
actionTest2=<QAction at remote 0x43fe270>, actionAbout=<QAction at remote
0x43fd7c0>, menubar=<QMenuBar at remote 0x43f65a0>, menuHelp=<QMenu at
remote 0x43f6628>, actionZoomInAll=<QAction at remote 0x43fec88>,
actionDetectGCP=<QAction at remote 0x43fd380>, actionZoomOutAll=<QAction
at remote 0x43fed10>, bandCount=<QString at remote 0x43e68d8>,
refLayer=<QgsRasterLayer at remote 0x43feaf0>, actionZoomOut2=<QAction at
remote 0x43fe518>, rawScaleText=<QLineEdit at remote 0x43fd050>,
actionShowRefImage=<QAction at remote 0x43fe958>, gcpItems=[],
sqlitePath=<QString at remote 0x43e6460>,
settings=<AutoGcpSettings(sqliteChoice=0, markerIconType=0,
selected...(truncated),
throwflag=<value optimized out>) at ../Python/ceval.c:2412
#9 0x00007fffd67e2d60 in PyEval_EvalCodeEx (co=0x247a558, globals=<value
optimized out>, locals=<value optimized out>, args=0x1,
argcount=<value optimized out>, kws=<value optimized out>, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3000
#10 0x00007fffd6768d60 in function_call (func=<function at remote
0x252ccf8>, arg=
(<Ui_MainWindow(dockWidgetContents_2=<QWidget at remote 0x43fb490>,
dockWidgetContents_3=<QWidget at remote 0x43fbaf0>,
rawMapCanvas=<QgsMapCanvas at remote 0x43fbd10>, actionTest1=<QAction at
remote 0x43fe160>, menuSettings=<QMenu at remote 0x43f67c0>,
actionTest2=<QAction at remote 0x43fe270>, actionAbout=<QAction at remote
0x43fd7c0>, menubar=<QMenuBar at remote 0x43f65a0>, menuHelp=<QMenu at
remote 0x43f6628>, actionZoomInAll=<QAction at remote 0x43fec88>,
actionDetectGCP=<QAction at remote 0x43fd380>, actionZoomOutAll=<QAction
at remote 0x43fed10>, bandCount=<QString at remote 0x43e68d8>,
refLayer=<QgsRasterLayer at remote 0x43feaf0>, actionZoomOut2=<QAction at
remote 0x43fe518>, rawScaleText=<QLineEdit at remote 0x43fd050>,
actionShowRefImage=<QAction at remote 0x43fe958>, gcpItems=[],
sqlitePath=<QString at remote 0x43e6460>,
settings=<AutoGcpSettings(sqliteChoice=0, markerIconType=0,
selectedIconColor=0, postgresHost=<QString at remote 0x44021f0>,
chipHeight=32, databaseSelection=1, postgresName=<QStr...(truncated),
kw=0x0) at ../Objects/funcobject.c:524
#11 0x00007fffd673b2e3 in PyObject_Call (func=<function at remote
0x252ccf8>, arg=Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 1054, in
to_string
pyop = PyObjectPtr.from_pyobject_ptr(self.gdbval)
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 343, in
from_pyobject_ptr
cls = cls.subclass_from_type(p.type())
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 288, in
subclass_from_type
tp_name = t.field('tp_name').string()
File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-2:
invalid data
, kw=Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 1054, in
to_string
pyop = PyObjectPtr.from_pyobject_ptr(self.gdbval)
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 343, in
from_pyobject_ptr
cls = cls.subclass_from_type(p.type())
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 288, in
subclass_from_type
tp_name = t.field('tp_name').string()
File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-2:
invalid data
) at ../Objects/abstract.c:2492
#12 0x00007fffd674ccef in instancemethod_call (func=<function at remote
0x252ccf8>, arg=
(<Ui_MainWindow(dockWidgetContents_2=<QWidget at remote 0x43fb490>,
dockWidgetContents_3=<QWidget at remote 0x43fbaf0>,
rawMapCanvas=<QgsMapCanvas at remote 0x43fbd10>, actionTest1=<QAction at
remote 0x43fe160>, menuSettings=<QMenu at remote 0x43f67c0>,
actionTest2=<QAction at remote 0x43fe270>, actionAbout=<QAction at remote
0x43fd7c0>, menubar=<QMenuBar at remote 0x43f65a0>, menuHelp=<QMenu at
remote 0x43f6628>, actionZoomInAll=<QAction at remote 0x43fec88>,
actionDetectGCP=<QAction at remote 0x43fd380>, actionZoomOutAll=<QAction
at remote 0x43fed10>, bandCount=<QString at remote 0x43e68d8>,
refLayer=<QgsRasterLayer at remote 0x43feaf0>, actionZoomOut2=<QAction at
remote 0x43fe518>, rawScaleText=<QLineEdit at remote 0x43fd050>,
actionShowRefImage=<QAction at remote 0x43fe958>, gcpItems=[],
sqlitePath=<QString at remote 0x43e6460>,
settings=<AutoGcpSettings(sqliteChoice=0, markerIconType=0,
selectedIconColor=0, postgresHost=<QString at remote 0x44021f0>,
chipHeight=32, databaseSelection=1, postgresName=<QStr...(truncated), kw=
0x0) at ../Objects/classobject.c:2579
#13 0x00007fffd673b2e3 in PyObject_Call (func=<instancemethod at remote
0x1d8cf50>, arg=Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 1054, in
to_string
pyop = PyObjectPtr.from_pyobject_ptr(self.gdbval)
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 343, in
from_pyobject_ptr
cls = cls.subclass_from_type(p.type())
File "/usr/lib/debug/usr/lib/libpython2.6.so.1.0-gdb.py", line 288, in
subclass_from_type
tp_name = t.field('tp_name').string()
File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-2:
invalid data
) at ../Python/ceval.c:3619
#15 0x00007fffd64e2a38 in sip_api_invoke_slot () from
/usr/lib/pymodules/python2.6/sip.so
#16 0x00007fffd621f016 in ?? () from
/usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#17 0x00007fffd621f138 in ?? () from
/usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#18 0x00007fffd621f1f2 in ?? () from
/usr/lib/pymodules/python2.6/PyQt4/QtCore.so
#19 0x00007ffff6554e3f in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib/libQtCore.so.4
#20 0x00007ffff58f5032 in QAction::triggered(bool) () from
/usr/lib/libQtGui.so.4
#21 0x00007ffff58f70ab in QAction::activate(QAction::ActionEvent) () from
/usr/lib/libQtGui.so.4
#22 0x00007ffff5cb16ca in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007ffff5cb197c in QAbstractButton::mouseReleaseEvent(QMouseEvent*)
() from /usr/lib/libQtGui.so.4
#24 0x00007ffff5d7d8ca in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/libQtGui.so.4
#25 0x00007ffff5951582 in QWidget::event(QEvent*) () from
/usr/lib/libQtGui.so.4
#26 0x00007ffff58fb22c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007ffff5901ecb in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQtGui.so.4
#28 0x00007ffff759d8e5 in QgsApplication::notify (this=0x7fffffffded0,
receiver=0x44b1f80, event=0x7fffffffd0a0)
at /home/timlinux/dev/cpp/qgis/src/core/qgsapplication.cpp:88
#29 0x00007ffff654206c in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x00007ffff59010ae in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
from /usr/lib/libQtGui.so.4
#31 0x00007ffff5980f65 in ?? () from /usr/lib/libQtGui.so.4
#32 0x00007ffff597f8ac in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/lib/libQtGui.so.4
#33 0x00007ffff59ab882 in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007ffff19af8c2 in g_main_context_dispatch () from
/lib/libglib-2.0.so.0
#35 0x00007ffff19b3748 in ?? () from /lib/libglib-2.0.so.0
#36 0x00007ffff19b38fc in g_main_context_iteration () from
/lib/libglib-2.0.so.0
#37 0x00007ffff656b513 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQtCore.so.4
#38 0x00007ffff59ab46e in ?? () from /usr/lib/libQtGui.so.4
#39 0x00007ffff6540992 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#40 0x00007ffff6540d6c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#41 0x00007ffff6544aab in QCoreApplication::exec() () from
/usr/lib/libQtCore.so.4
#42 0x0000000000523ff5 in main (argc=1, argv=0x7fffffffe5d8) at
/home/timlinux/dev/cpp/qgis/src/app/main.cpp:802
}}}
Regards
Tim
--
Ticket URL: <https://trac.osgeo.org/qgis/ticket/2987#comment:11>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats
More information about the QGIS-trac
mailing list