How do I easily determine the coordinates of the upper left and lower right corners of my layout?
I know if I export my layout as an image with a world file, that world file will contain the coordinates of the upper left corner.
Is there an easy/automated way to determine the lower right corner's coordinates from the world file? Or via another method?
Thank you for your help!
Solved! Go to Solution.
Using Dynamic Text > Map Frame Coordinates (I assume you working on Layout View).
Using Dynamic Text > Map Frame Coordinates (I assume you working on Layout View).
Oh my gosh Jayanta, thank you so much! I can't freakin' believe I spent an hour on ESRI and Google trying to find the solution and it's JUST RIGHT THERE! I'm laughing at myself....thank you for saving me!
Here's how I solved this with Python. In my case I am cloning and adding text elements within a layout. I have a case where I need to do this within a layout, and not as labels within a map. Maybe other users will need to do that. Before I can, I need to get the map frame within the layout, interrogate it for it's scale and the extent of the map frame as shown in the layout:
I have a layout called: A Street Map Layout. The map frame within it is the default name, 'Map Frame'.
aprx = arcpy.mp.ArcGISProject("CURRENT")
lyt = aprx.listLayouts("A Street Map Layout")[0]
mf = lyt.listElements('MAPFRAME_ELEMENT','Map Frame')[0]
# To read the position on the page:
mfTop = mf.elementPositionY + mf.elementHeight
mfBottom = mf.elementPositionY
mfSide = mf.elementPositionX
# Get scale of map frame
mScale = mf.camera.scale
#Read the extent of the map frame in coordinates. Here are State Plane, Nevada East, assigned in map.
mfExtent = mf.camera.getExtent()
print("Min X,Y position of map in layout: {}, {}".format(mfBottom,mfSide))
print("xMin, YMin: {}, {}".format(mfExtent.XMin, mfExtent.YMin))
print("xMax, YMax: {}, {}".format(mfExtent.XMax, mfExtent.YMax))
Min X,Y position of map in layout: 2.0, 0.43 xMin, YMin: 742798.2847974019, 26763386.193185568 xMax, YMax: 789861.0954051455, 26792858.29058627
This should return the pieces that you are looking for. Hope that this helps someone.