Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite QGIS Georeferencer tool with ability of interactive georeferencing of rasters directly in map canvas #35051

Open
iFitch opened this issue Mar 13, 2020 · 11 comments

Comments

@iFitch
Copy link

iFitch commented Mar 13, 2020

Feature description.
The raster georeferencing method implemented in such software like ArcGIS looks more convenient for raster georeferencing.

It would be nice to implement a similar functionality in QGIS, when the links\bonds lines could be drawn directly in the map canvas with interactive raster transformation on the fly.

@saberraz
Copy link
Contributor

saberraz commented Mar 13, 2020

This is something we are planning to do for QGIS 3.14/3.16. See QGIS Enhancement Proposals repo for the details to be published soon.

In addition, we plan to enhance the algorithm to support more GDAL parameters (https://gdal.org/development/rfc/rfc22_rpc.html) and port it to the Processing toolbox.

Feel free to DM me if you have any specific requirements or would like to see other features.

@nyalldawson
Copy link
Collaborator

@saberraz which QEP? I can't see a related one...

@saberraz
Copy link
Contributor

@wonder-sk is working on one in his head at the moment :)

@saberraz
Copy link
Contributor

saberraz commented Mar 13, 2020

@iFitch
Copy link
Author

iFitch commented Mar 16, 2020

In response to the attached email.
In my humble opinion, for the convenience of georeferencing, it is most important to see vector (or raster) data in the same window with the georeferencing raster. Whether this is a separate window or the map canvas window is less important. A live preview of the transformation results is also important. Georeferencing multiple rasters at the same time seems too specific.
As I said above. The geo-referencing method implemented in ArсGIS looks extremely close to ideal implementation. I would be glad to see just such a georeferencing panel in QGIS 3.XX :-)

@ntrip6
Copy link

ntrip6 commented Sep 27, 2020

It is wonderful to hear that there are plans to work on the UI of Georeferencer. I did a lot of georeferencing work in Arcmap 10.x years ago and have recently been doing quite a bit in QGIS3 so I thought I would type up some of the aspects of QGIS Georeferencer I that think could be modified for easier flow. Some of these are pretty basic (more basic than what is proposed above) but still fall under the Feature Request category.

  1. Allow rotating the original 90 deg in the Preview window (arcmap allows this). I have to flip original and GCPs around in my mind every time i move my eyes between the windows.I saw discussion of a preview mode in Georeferencer. I think this would be a great. At the very least allowing 90deg rotation would allow us to get the original closer to the realworld orientation.I've tried rotating the originals in image editor and this sometimes works. Better to support rotating inside Georeferencer if possible
    georef_arcmap10

  2. Auto-Filenaming of GCP.points file: In Georeferencer > Transform Settings dialog the "Save GCP points" checkbox currently results in a GCP file called output_filename.tif.points. However because the .points GCP file works with the original scan file not the output_filename.tif. perhaps it is more intuitive to have the checkbox "Save GCP points" auto-create a points file called input_filename.tif.points. I guess the one good thing to the current approach is the output points are linked to the step in georeferencing by the filename. But the problem is one assumes they should be loaded along with that file when in fact they were used to produce it.

  3. File> Reset Georeferencer removes all the GCP points and the raster as well. If I reload the raster the GCPs come back. How do i just remove all the GCPs and start fresh with the same raster? (this may be a bug)
    Thank you for this excellent tool. I've found that the QGIS Georeferencer produces often cleaner GeoTIFF files than Arcmap -- kudos team.

  4. large crosshairs pointer on the Raster so that one can sight easily on the edge coordinates in the margins of a map scan
    https://issues.qgis.org/issues/20254

@ntrip6
Copy link

ntrip6 commented Sep 27, 2020

I went through and took a few more screenshots to include here I hope no one minds. This isn't meant to suggest copying them but just to foster discussion of pros/cons of different UI approaches because many people don't have access to esri licensed software for comparison.
Good aspects of Arcmap process (visible in screencap I include below)

  • As the original post suggests this work is occurring in the main map window (good for smaller screens) and not in a separate window. A separate window is optionally available.
  • In Arcmap the GCP number is visible (consistently colored green and thin font no label buffer like in Q), while the target GCP crosshair and label are consistently red color.
  • snapping result hover label showing what layer it is snapping to
  • GCP Link table (docked) shows residual with X and Y separate as well as transform type
    arcmap_gcp_ux

On additional thing: In Arcmap the georeferencer is doing realtime collinearity and distribution tests whenever a new GCP is placed (as soon as 3 or more GCPs have been placed). This warning pops up if all the GCPs are clustered or along one edge
collinearity

The result is that Arcmap encourages an quick, iterative process. First place 4 GCPs roughly around the perimeter to get the thing preview-positioned in the main map window. Keep working carefully placing GCPs # 4-8 or more, then investigate residuals and remove / relocate the GCPs with a high residual.
Related to this I recently typed up a QGIS Georeferencer + JOSM workflow on the OSM wiki to help historical mappers to geolocate the excellent Sanborn maps for OHM contributions. Thanks
Sanborn_Map_geoferencing for OpenHistoricalMap.org

@uclaros
Copy link
Contributor

uclaros commented Oct 2, 2020

1. Allow rotating the original 90 deg in the Preview window (arcmap allows this). I have to flip original and GCPs around in my mind every time i move my eyes between the windows.I saw discussion of a preview mode in Georeferencer. I think this would be a great. At the very least allowing 90deg rotation would allow us to get the original closer to the realworld orientation.I've tried rotating the originals in image editor and this sometimes works. Better to support rotating inside Georeferencer if possible

Check #38884 , it will probably be a feature in 3.18!

2. Auto-Filenaming of GCP.points file: In Georeferencer > Transform Settings dialog the "Save GCP points" checkbox currently results in a GCP file called output_filename.tif.points. However because the .points GCP file works with the original scan file not the output_filename.tif. perhaps it is more intuitive to have the checkbox "Save GCP points" auto-create a points file called input_filename.tif.points. I guess the one good thing to the current approach is the output points are linked to the step in georeferencing by the filename. But the problem is one assumes they should be loaded along with that file when in fact they were used to produce it.

This is a bug in my book, I've stumbled upon it a couple of times but did not report it. input.tif.points should be the norm.

3. File> Reset Georeferencer removes all the GCP points and the raster as well. If I reload the raster the GCPs come back. How do i just remove all the GCPs and start fresh with the same raster? (this may be a bug)

This is probably because there is a input.tif.points and GCPs are re-loaded.

  • In Arcmap the GCP number is visible (consistently colored green and thin font no label buffer like in Q), while the target GCP crosshair and label are consistently red color.

This is nice and easy to read on white background. Trying to read a label without a buffer over an orthophoto can be no fun though.

  • snapping result hover label showing what layer it is snapping to

This is not a georeferencer feature, you can try Settings > Options > Digitizing > Show snapping tooltips

  • GCP Link table (docked) shows residual with X and Y separate as well as transform type

In the georeferencer it's dX - dY . The transformation type is also there, at the status bar, below the default gcp table location!

@jef-n jef-n changed the title Rewrite QGIS Georeferencer tool with ability of interactive georeferensing of rasters directly in map canvas Rewrite QGIS Georeferencer tool with ability of interactive georeferencing of rasters directly in map canvas Nov 16, 2021
@ntrip6
Copy link

ntrip6 commented Jul 10, 2022

Terrific to see vector georeferencing (spatial adjustment) added to 3.26.

Added this feature request for a crossahairs mouse cursor to the thread
https://issues.qgis.org/issues/20254

@robbitt
Copy link

robbitt commented Feb 2, 2023

I agree this would greatly facilitate the georeferencing process. In ESRI's ArcMap, you can see what individual control points do to the transform in real-time on the map canvas - allowing a better overall placement of control points. I'd also suggest allowing the user to change the the Transformation type interactively to see the effect in real-time.

@blacktesta
Copy link

A very important thread that will greatly improve QGIS. I sign with my hands and feet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants