Opened 11 years ago

Last modified 5 years ago

#8484 new enhancement

Improve complicated procedure to align picture

Reported by: stoecker Owned by: rebsc
Priority: normal Milestone:
Component: Plugin piclayer Version:
Keywords: Cc:


The procedure to initial align a picture is very complicated. Suggestion for easier to use method:

  • load data
  • Load picture
  • request to click 4 times:
    • first click for a point in the picture
    • click same point in data
    • click a second point as far away as possible in picture
    • click same point in data
  • use these points to shift and scale the picture properly
  • to add rotation an additional point is required.

Attachments (0)

Change History (8)

comment:1 by stoecker, 11 years ago

Summary: Verify complicated procedure to align pictureImprove complicated procedure to align picture

comment:2 by Larry0ua, 11 years ago

As I am not an usability expert, it is better to tell how current implementation could be improved. Any ideas? Actually I am fine with the piclayer today, the only thing that is good to have is some sort of a tutorial when you import an image for the first time.

comment:3 by stoecker, 11 years ago

See my description above. Clicking 2*2 points is an very easy solution, the shift and scaling can be determined from that. With 3*2 points also rotation can be calculated.

Usually way in geodesy is to get a set of matching points in both coordinate systems and let the transformation process handle the rest. Is much easier than shift and scale by hand.

User interface:

  • E.g. Have two colors green/yellow for piclayer and data layer. Display colored (numbered) points in both layers.
  • Depending on the number of points do this:
    • when one point exist, do automatic shift
    • when two points exist, do shift, scale and rotate (but there are two rotation results possible, take the smaller rotation amount by default)
    • when three points exist, do shift, scale and rotate (with only one possible solution for rotation)
    • when more then three exist, an adjustment calculation becomes necessary to get transformation parameters
  • Usually user will stop with two points.
  • I would suggest following procedure for user:
    • Zoom, scroll, search point
    • Click point in first layer (either data or image)
    • autoswitch to other layer
    • zoom, scroll, ...
    • click point in second layer
    • Fix the map display based on the new information
    • autoswitch to first layer
    • ... new point
    • Allow to Stop(Finish)/Abort/Restart
Last edited 11 years ago by stoecker (previous) (diff)

comment:4 by stoecker, 11 years ago

Note: It takes some experience to find good sets of points (e.g. street crossings or houses). Restart of the whole process should be fast and easy.

When a base alignment has been done, the same process can be used for fine-tuning.

comment:5 by stoecker, 11 years ago

Maybe have a look at QGIS / Quantum GIS. They use that procedure.

comment:6 by rmikke, 9 years ago

Two points are enough for scaling and rotation, the third pont is needed to skew the picture.
The current procedure (the "new" one, with three points) would be perfect if it didn't crazily skew/rotate the picture while dragging control points.

The solution would be to not treat those three points equally, but move points with the point with lower number,i.e:
Point 1 is the anchor. When moving point 1, points 2 and 3 move accordingly, as if all the layer moved at once.
Point 2 is for scaling and rotation. When point2 is moved, point 1 stays in place and point 3 moves proportionally - the whole pic layer is now scaling and rotating.
Point 3 is for skew. When point 3 is moved, points 1 and 2 stay in place and the picture is skewed to fit the map.

comment:7 by Larry0ua, 9 years ago

I'm considering Shift+move as your 1st suggestion (move picture). Not sure how to do the same with the scale.

As picture points are functionally equal for now, it would be bad thing to break user experience (even that poor) for existing users and ask new users to learn even more before start using the tool.

comment:8 by Don-vip, 5 years ago

Owner: changed from Larry0ua to rebsc

Modify Ticket

Change Properties
Set your email in Preferences
as new The owner will remain rebsc.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from rebsc to the specified user.
Next status will be 'needinfo'. The owner will be changed from rebsc to stoecker.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from rebsc to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.