Table of Contents list by Coordinate System

2578
16
10-23-2014 02:23 AM
Status: Open
Labels (1)
DominicBull
New Contributor II

Currently in ArcGIS Desktop 10.2 (ArcMap) under the table of contents you can list by drawing order, source, visibility and selection.  I think it would be useful to be able to list by coordinate system.

16 Comments
KoryKramer

From Display each Layer projection under the Table of Contents. :

It would be NICE if ESRI can add this toolbar "List by projection" for each layer rather than having to go into the Layers' Table Of Contents (TOC)  and then double click on the Layers to open the Data Frame Properties and then hit the Coordinate System tab menu.

This is inconvenience way to do this several steps to get there if you are agree with me ?

 

 

 

So how about adding the "List projection" for each layer toolbar on the TOC ? This way we all can take a look the quick way to check them ?

 

So you have the buttons on the Table of Contents here:

 

On the Table of Contents you have 5 different buttons.

List by Drawing Order

List by Source

List by Visibility

List by Selection

Options

Add this to "List by Projection" ?

 

Here is the screenshot of what I am trying to display.

 

AndrewShakes1

Spatial data comes in all sorts of coordinate systems and projections. If you load it in to ArcGIS Pro without re-projecting, it can all get a bit messy. But some of us are too busy to do that every time, and ArcGIS Pro just makes it easy to be lazy and re-project on the fly.

How handy would it be to list all the content by Spatial Reference, and see which datasets need re-projecting (or worse don't have a projection defined); without needing to go through each one's properties.

SylvainBoivin

It would be nice to display de TOC (table of contents) by coord system to troubleshoot issues. It would help finding the culprit layer (s), thanks!

David_Brooks

How coincidental that I was thinking this exact thing yesterday. There's already an Idea open for it too 

https://community.esri.com/t5/arcgis-pro-ideas/table-of-contents-list-by-coordinate-system/idi-p/928... 

In the meantime, I wrote a python script that outputs a CSV, listing the layers and their coord systems in 2 columns. You just need to input the APRX folder and filepath, name of the Map and folder and filepath for CSV.

import arcpy, csv, os

aprxInput  = arcpy.GetParameterAsText(0)
mapInput = arcpy.GetParameterAsText(1)
csvpath = arcpy.GetParameterAsText(2)

aprx = arcpy.mp.ArcGISProject(aprxInput)
m = aprx.listMaps(mapInput)[0]
lyr = m.listLayers()

lyrList = []
lyrNames = []

for lyr in m.listLayers():
    if lyr.supports("dataSource"): # some layers might not support the property "dataSource"
        lyrList.append(lyr)
        lyrNames.append(lyr.name)

srs_list = []
srsNames = []

for lay in lyrList:
   laySRS = arcpy.Describe(lay).spatialReference
   srs_list.append(laySRS)
   srsNames.append(laySRS.name)

arcpy.AddMessage("LAYERS")
arcpy.AddMessage(lyrNames)
arcpy.AddMessage("SRS")
arcpy.AddMessage(srsNames)
   

def tableToCSV(input_list, srs_list, csv_filepath):

    with open(csv_filepath, 'w') as csv_output:
        writer = csv.writer(csv_output, lineterminator='\n')
        for i, value in enumerate(input_list):
            srs_val = srs_list[i]
            writer.writerow([value,srs_val])

tableToCSV(lyrNames, srsNames, csvpath)

arcpy.AddMessage("CSV Generated.")

 

KoryKramer

Hi @SylvainBoivin in terms of troubleshooting to find a culprit layer, when you open the Map Properties you will see the map's coordinate system.

KoryKramer_0-1642702063215.png

And you will also see layers that are using a different coordinate system, so that may help for the troubleshooting use case:

KoryKramer_1-1642702183528.png

 

SylvainBoivin

Waww, thanks! this will be helpful!

CraigHartel

I have dozens of features in my Table of Contents. Opening the properties of each one to determine its projection is onerous to say the least. 

ToddHawley1

My idea is very simple.  Provide a "List by spatial reference" button at the top of the contents pane similar to the existing "List by datasource" button.  This would be very helpful to quickly know what data my need to be projected or simply when the "shape length" and "shape area" fields may not be appropriate for the units of your project.  I think this would be a very popular feature for people who deal in multiple coordinate systems especially when the linear units vary.

RoseF
by

Even some indication in the TOC that a particular layer is being reprojected on the fly. In other words, if a particular layer in the TOC doesn't have the same spatial reference as the data frame, a star by its name or something to indicate that it is being altered on the fly.