Automated GeoReference (Script?)- 1 Anchor Point & Map Scale

07-02-2015 08:15 AM
New Contributor II

Hi All,

I tried searching around and couldn't find anything similar, but I have this idea I want to test and see what people think about it. Given a non-spatially registered image that must be georeferenced, I can calculate the scale of the map (Given a scale bar or the scale value) and use this value along with actual paper space on the map (Inches on a piece of paper, whether it be 8.5x11 or a full sized plate) to determine the distance that this point is from any other point on the map in actual physical space (We'll just call this actual space-in contrast to paper space).

So in theory, if you have 1 visual point you can add this anchor point to (Referred to as a control point or link in the georeferencing toolbar) regardless of whether it be a topographic, geological, or any other feature, a python or vb script takes this control point and it's coordinates (actual space) and converts the paper space coordinates (most likely in inches or pixels converted from inches) to actual space in ArcMap by automatically adding 4 or however many more needed control points to the image based on the calculated map scale and the anchor point?

I have done this manually, so I know the scale factor works surprisingly well. Even without the actual physical map, you can measure the scale bar of a map in Adobe Acrobat in paper space (Dimensions of the paper map copy) and calculate the scale value this way. Then you can measure an X distance and a Y distance (I like to measure to the maximum extent of the map-so usually the boarders) from the visual anchor point (Control point) you have. You multiply the paper dimensions X and Y by the scale value, and it gives you the actual physical distance that point should be from your anchor point. So in Arc, you can measure the distance from your anchor point (making sure of course it's a straight line) and place a point or marker to use to manually add the control point to.

I've attached various images which to help support my explanation of doing this manually. If I could have some help writing something to automate this process, that'd be great.

P.S. I've gone back to remove/crop/blur some things from the images being georeferenced to try and protect the identity of everything. So try to ignore that stuff. This was just meant to be an example.



0 Kudos
3 Replies
Regular Contributor III

If you can already calculate scale based on page size i think what you may be looking for is creating a text file with XY coords in it.

For example create a text file formatted like below:

fromX,fromY toX,toY

The first set and second set are separated by a space and the X and Y are separated by a comma like a world file for cad drawings do your anchor fromX,fromY toX,toY first and then calculate the others I'm not sure you can load them with python but you can open your link table and load them. I'd be interested to see how you come out with this project

New Contributor II


This is a good suggestion, and I'll keep this in mind while trying to figure out how to go about this.


0 Kudos
MVP Honored Contributor

Along the lines of Wes Miller​'s suggestion, I think the main goal you should be/are working towards is building a world file (it's not just a CAD thing!), where you provide x and y pixel sizes of your image (calculated from your scale and image properties) and x,y coordinates of the centre of the top-left pixel (calculated from your scale and reference point). This georeferences your image without having to muck around with manual control points.