5

I need to label township ranges along the side and top of my map, respectively. I know the grid in the frame properties is a way to label the edges with lat/lon. I Think there is a way to do the same type of thing with dynamic text objects.

Anyone have experience with this?

3
  • I wish one of these were what I am looking for. I fear it is not doable without just slogging through manually.
    – Brad Nesom
    Commented May 15, 2011 at 5:27
  • It is doable. You have to create a custom grid. See additional links in my answer.
    – Sean
    Commented May 16, 2011 at 13:38
  • Is an arcobjects solution acceptable? Commented May 16, 2011 at 14:06

4 Answers 4

1

You can do this with dynamic text of Data Driven Pages in ArcGIS 10.

EDIT: On first read I though you were trying to label neighbors but re-reading after Jakub's comment, it sounds like you want a custom reference grid. You need to create a custom overlay grid from your reference data. Check this relevant thread on the ESRI forums.

4
  • I don't see anything there that would indicate that you can use dynamic text to label latitude and longitude. Can you please provide some more information or a methodology? Commented May 13, 2011 at 17:07
  • Maybe I'm mistaken, but I don't think he's asking about labeling long/lat.
    – Sean
    Commented May 13, 2011 at 17:11
  • no I want to label T23N, and R5W along the edges.
    – Brad Nesom
    Commented May 13, 2011 at 17:17
  • thanks for the forum thread I got it to work but now am extending my polygons to allow labeling the entire state.
    – Brad Nesom
    Commented May 16, 2011 at 21:46
1

Take a look at What are grids and graticules? in the help. Not a programmatic solution but may be all you need.

1
  • I think Brad is asking whether this can be done with the dynamic text in version 10. Commented May 13, 2011 at 17:11
1

via arcpy

    import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\ParcelAtlas.mxd")
pageNameList = ["MPB", "PJB", "AFB", "ABB"]
for pageName in pageNameList:
    pageID = mxd.dataDrivenPages.getPageIDFromName(pageName)
    mxd.dataDrivenPages.currentPageID = pageID
    fieldValue = mxd.dataDrivenPages.pageRow.TSR  #example values from a field called TSR are "080102", "031400"
    TRSTitle = arcpy.mapping.ListLayoutElements(MXD, "TEXT_ELEMENT", "TRSTitle")[0]
    township, range, section = fieldValue[:2].strip("0"), fieldValue[2:-2].strip("0"), fieldValue[-2:].strip("0")
    if section != "": 
        TRSTitle.text = "Section {0} T.{1}N. R.{2}W. W.M.".format(section, township, range)
    else:
        TRSTitle.text = "T.{0}N. R.{1}W. W.M.".format(township, range)
    mxd.dataDrivenPages.printPages(r"\\olyfile\SUITE_303", "CURRENT")
del mxd

bottom of page DataDrivenPages (example 2) http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s300000030000000.htm

1

Just realized this is an ANCIENT thread...whoops. Leaving the answer for any who might stumble upon it.

We have a feature class named Townships, that we use as our grid for mapbooks. In the attribute table, for each row we have a "Township", "Range", and a "MapName" column. Then we simply add two dynamic text objects like so:

The MapName column is simply the Township and Range together, separated by a hyphen. Overly redundant, but it has its purpose.

So, if you have the township and range in your attribute table, just add the labels above, substituting your column names. If you don't have the township and range, add the columns to your table.

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.