4

I've got a shapefile which has been digitized from a strongly distorted historical map, and would like to align it as nicely as possible to another precise shapefile layer.

The transformation must not be affine : since the map is historical, it has both cartographic and measurements errors.

The best I've achieved for now is to use :

ogr2ogr -gcp 01_a_x 01_a_y 01_b_x 01_b_y -gcp 02_a_x 02_a_y 02_b_x 02_b_y ... -tps

The results is not bad at all (see images below), but the deformation is not "precise" enough. I mean that the points I defined do not align perfectly in the resulting geometry.

I would like to have those point align perfectly. Of course, points that are not set using -gcp would not have the same precision since they are only interpolated.

Is there a way to achieve that ?

Thanks a lot !!

Olivier

Step 1 : misaligned layer in red, reference layer in gray Step 1

Step 2 : points that I defined using -gcp Step 2

Step 3 : resulting layer. Not bad, but as you see, the points I defined are not perfectly aligned... Step 3

4
  • 1
    I'm afraid that it is the best you can get. If you want perfect result - start from the beginning: georeference original map perfectly and digitise it. May 21, 2014 at 15:04
  • 1
    Thanks for the answer ! I heard that the Thin Plate Spline algorithm was supposed to be precise at the entered points, but either it's not the case, or it's implementation is buggy... I'll have to find another way (maybe a custom plugin?)
    – red
    May 21, 2014 at 18:28
  • I hope you don't mind I rechanged the title, since it's not that much an OGR2OGR question...
    – red
    May 26, 2014 at 18:04
  • Please note that the title should be in question form. Also please make it a little more specific if possible.
    – underdark
    May 26, 2014 at 18:35

2 Answers 2

6

Ok I developped a QGIS plugin to do this : https://github.com/olivierdalang/VectorBender

I hope it will be useful to others too !

1

OpenJump has a nice Rubbersheet tool. ArcGIS 10.2.1 has a Conflation Toolset that will rubbersheet, though it only works on Line features and requires an Advanced license.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.