I have two similar looking and extend map files. Pdf -map (N4443) with vector but not projected and the raster tiff map (N4443) with projection.

I need to georeference pdf-vector objects using tiff -file bounding box.

I have non-georeferenced pdf -map (in vector format) and georeferenced raster map with bounding box. They have same bounding box but pdf- bounding box is not projected. How I can attach raster bounding box to using pdf also? What tools can be found in FME to help me?

Georeferencing using Bounding Box?

error: 2019-03-22 14:51:11| 1.5| 0.0|WARN |AffineWarper(WarpFactory): Must have at least 4 control points to perform an AFFINE transformation

  • I would try the Affiner, but I never used it so I can 't get you real pointers. Mar 22, 2019 at 12:24
  • Affiner makes me confused, how to control pdf-vectors when you have only bounding box?
    – Mickeler
    Mar 22, 2019 at 12:57
  • 1
    See knowledge.safe.com/questions/59008/affinewarper-1.html "Each Control feature should be a single line segment, which is a vector representing the direction and distance from a point on the Observed feature to its corresponding point after warping. Any format is available if it supports storing line geometries." Mar 22, 2019 at 13:07
  • How to calculate those direction and distance vertices?
    – Mickeler
    Mar 22, 2019 at 13:46
  • Yes, the problem is in the control vertices. They need to be 2-point lines, pointing from where the source coordinate is to where it goes in the destination. So you need to break up the bounding box and match the points to the bounding box of the other dataset. See my solution below. Mar 22, 2019 at 14:43

1 Answer 1


You're really close with your second attempt. What you need to do is create the bounding box for each set of features, then connect the points from one box to the other. That creates the control vectors for the AffineWarper.

Here's my workspace:

enter image description here

Ignore the contents of the bookmark. That's just me setting up some data. Anyway, I create the bounding box for a raster feature and a set of roads. Then I chop them into single points.

The next step is to create vectors from them. I give each point an ID with a Counter (each Counter transformer must have a different counter name) so that we have points 1,2,3,4,5 for each bounding box. Then I create an ID number so we know which points come from which set of data.

Then I sort the data. I sort by counter ID, and ID number. Now I have BoundingBox1-pt1, BoundingBox2-pt1, BB1-pt2, BB2-pt2, BB1-pt3, etc in the correct order.

The LineBuilder builds lines, breaking them each time the Counter changes.

Finally we have our control vectors which are passed into the AffineWarper along with the original data.

If the results don't get warped, then the control vectors are probably pointing in the wrong direction. The simple fix there is to change the direction of sorting in the Sorter (ascending instead of descending, or vice versa).

You can download my workspace and data from Dropbox at: https://www.dropbox.com/s/bo8qpvn3p7f91xm/AffineWarping.fmwt?dl=1 (sorry I just realized I built it in FME2019. If you need an earlier version, let me know).

Your Answer

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

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