[Qgis-developer] QGIS georeferencer / vector georeferencer
Mark Johnson
mj10777 at googlemail.com
Thu Nov 26 06:06:18 PST 2015
Making changes to the present georeferencer would be a great improvement.
I have used this georeferencer for many years, but it has a major drawback
- when loading a *.points file > 200-300 points
-- it becomes very slow
A *.points file of 1000 points can take up to an hour to load
- to add/move/delete a point 20-60 seconds
-- often after 2-3 attempts
---
When Spatialite offered the GrassGis based GCP_* functions
- I attempted to adapt the georeferencer code to use a Spatialite Database
instead of the *.points file
-- importing an existing *.points file when found
In QgsGeorefPluginGui::loadGCPs, if a Database was found this would be
loaded as a QgsVectorLayer for both QgsMapCanvasLayers
- otherwise use the *.points file
Loading and moving with > 1000 points poses no problems at all.
Using the GrassGis based GCP_* functions has the advantage that:
- after defining about 10-20 points (both pixel and position)
-- the GCP_Compute function can be called to calculate an average
(Polynomial coefficients)
At the moment I then manual attach a Database and load a set (300-500) well
known points
- and the pixel values are calculated and stored
Reloading this in QGIS-georeferencer, the estimated points can then be
corrected
- using QgsVectorLayer which deals with the updating of the changed values
--
What is missing is adding, deleting of points
- when a position is added, GCP_Compute could be called to create the pixel
point on the Raster
-- after witch that point only needs to be corrected
Not being firm on the gui portions
- all needed interactions, that is not delt with by QgsMapCanvasLayers, are
needed
A existing QgsGeorefPluginGui::createGCPDb function
- creates the Spatialite-Database with everything that is needed
-- including views to create a .point file or a GDAL GCP list
- checks if Spatialite has been compiled with GCP support [HasGCP()]
-- due to the different licence of GrassGis where the GCP_* logic comes from
All of this speeds up the development of a new Map greatly
- since most of the needed (well known) point are added automaticly
The created final gdal GCP list is then placed into a script configuration
file
- that then calls gdal to create the final image
---
I would be glad to offer this existing QGIS code to any one interested in
implementing this
- I am not that firm on the QT-gui logic
My problem is that I use a QGIS version base on the commit of 2014_02_22
- the last version that, when refreshing, does not blank the screen before
repainting
-- which is too hard on my eyes to work with
--- 2.8.x Wien also has this effect
Also I have not been able to compile that last master version for some while
- due to new dependencies that have been added
Otherwise I would be willing to cooperate with anybody that could get this
working as a part of QGIS.
Mark Johnson, Berlin Germany
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20151126/a3108ab2/attachment.html>
More information about the Qgis-developer
mailing list