1

I just read the topic about Convert point XY to page units XY using arcpy? but I didn't find a solution to my problem. I have a point layer file, I know coordinates in map view, I'd like to know coordinates in layout view. I suppose the main difference with the case of a dataframe is that the point is not a graphic element itself in layout view, so the referencing of the point is more tricky. Is there anyone who solved this (or similar) issue? ps. the dataframe where I'm working is rotated, the solution proposed in the Convert point XY to page units XY using arcpy? post doesn't work for rotated dataframe. Does anybody knows what is the base point for rotation of dataframes in ArcGIS?

asked Jun 14, 2013 at 10:03
5
  • 1
    I'm confused, do you mean you know the spatial coordinates of the points but want to know their location based on the position they would have on a print page? Like if you were to measure them using the rulers on the top and bottom of the layout? So a point would be at (2in, 5in) on a 8.5X11 sheet? Commented Jun 14, 2013 at 14:37
  • exactly, @Pete. This is the "problem". Commented Jun 14, 2013 at 14:50
  • You could export the whole map as a raster and then convert it to ascii to see the pixel location and then figure out the distance based on how many pixels it is long by wide. That; however, seems like to most inelegant solution possible. Commented Jun 14, 2013 at 14:55
  • Thanks Pete but I need a great precision in a very long script and raster doesn't seem to be the best solution.. moreover my dataframe is rotated, but I don't know what is the base rotation point in ArcGIS. Commented Jun 14, 2013 at 15:05
  • With arcpy it may be difficoult. Try arcobjects: gis.stackexchange.com/questions/56967/… Commented Jun 14, 2013 at 17:06

1 Answer 1

1

First, figure out the point that is at 0,0 on your layout. Lets say you're using mercator projection with a scale of 1:100 and the point at 0,0 on the page is 627103E 4484335N. A point you are trying to map is 627107E 4484342N so to figure out the position it would (E2-E1)/100, (N2-N1)/100. Putting it at 4cm, 7cm on the page. If it's rotated then you would also need to use a rotation matrix http://en.wikipedia.org/wiki/Rotation_matrix. You can run this equation through the field calculator or in a python script using a search cursor. If you don't know the rotation point you could figure it out by snapping to the points in layout view and then seeing what it says the layout coordinates are in the bottom right corner of the screen.

Hope this is of some help at least.

answered Jun 14, 2013 at 15:58

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.