<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to find a query layer in a map document using arcpy in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067669#M61352</link>
    <description>&lt;P&gt;Per &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/215600"&gt;@DanPatterson&lt;/a&gt;'s suggestion, if the layer supports DEFINITIONQUERY, then check the definition property for a string with length.&amp;nbsp; If it has length, the layer is using a query.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;for lyr in lyrs:
    if lyr.supports("DEFINITIONQUERY"):
        if len(lyr.definitionQuery.strip()): # a string with length
            print lyr.name, lyr.definitionQuery&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(My version of ArcMap allowed spaces as a definition query, so stripping them before checking length is advised.)&lt;/P&gt;</description>
    <pubDate>Sat, 12 Jun 2021 20:04:42 GMT</pubDate>
    <dc:creator>RandyBurton</dc:creator>
    <dc:date>2021-06-12T20:04:42Z</dc:date>
    <item>
      <title>How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067570#M61346</link>
      <description>&lt;P&gt;I have a bunch of map documents with gobs of layers in each. I have a script the goes through each map document, and each dataframe, and then inspects each layer in the dataframe. I am trying to determine if the layer is a query layer, but I do not know how to determine that.&lt;/P&gt;&lt;LI-CODE lang="python"&gt;import arcpy
import os

tfolder = r"\\tstvmmapservb\f$\ArcGIS\MXDs\NISC"
for f in os.listdir(tfolder):
    map_document = os.path.join(r"\\tstvmmapservb\f$\ArcGIS\MXDs\NISC", f)
    print("mxd: {}").format(map_document)
    mxd = arcpy.mapping.MapDocument(map_document)
    for df in arcpy.mapping.ListDataFrames(mxd, "*"):
        lyrs = arcpy.mapping.ListLayers(mxd, "", df)
        for lyr in lyrs:
            if lyr.isBroken:
                #print("{} is broken. Skipping".format(lyr.name))
                continue
            desc = arcpy.Describe(lyr)
            if desc.dataType == "GroupLayer":
                #print("{} is a group layer. Skipping".format(lyr.name))
                continue
            if desc.dataElement.dataType == "FeatureClass":
                print("{} is a feature class. Skipping".format(lyr.name))
                continue
            if lyr.supports("SERVICEPROPERTIES"):
                #print("{} is a service. Skipping".format(lyr.name))
                continue
            print(lyr)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 21:03:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067570#M61346</guid>
      <dc:creator>MattFrancis</dc:creator>
      <dc:date>2021-06-11T21:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067599#M61347</link>
      <description>&lt;P&gt;would "supports" "definition query" help?&lt;/P&gt;&lt;P&gt;&lt;A href="https://pro.arcgis.com/en/pro-app/latest/arcpy/mapping/layer-class.htm" target="_blank"&gt;Layer—ArcGIS Pro | Documentation&lt;/A&gt;&lt;/P&gt;&lt;PRE&gt;supports (layer_property)&lt;/PRE&gt;&lt;P&gt;DEFINITIONQUERY A layer's definition query string.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 22:28:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067599#M61347</guid>
      <dc:creator>DanPatterson</dc:creator>
      <dc:date>2021-06-11T22:28:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067652#M61351</link>
      <description>&lt;P&gt;A query layer for me in Oracle returns a '%' in the dataSource and datasetName properties.&lt;/P&gt;&lt;P&gt;maybe:&lt;/P&gt;&lt;LI-CODE lang="python"&gt;if '%' in lyr.datasetName:
    pass&lt;/LI-CODE&gt;</description>
      <pubDate>Sat, 12 Jun 2021 12:21:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067652#M61351</guid>
      <dc:creator>DavidPike</dc:creator>
      <dc:date>2021-06-12T12:21:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067669#M61352</link>
      <description>&lt;P&gt;Per &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/215600"&gt;@DanPatterson&lt;/a&gt;'s suggestion, if the layer supports DEFINITIONQUERY, then check the definition property for a string with length.&amp;nbsp; If it has length, the layer is using a query.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;for lyr in lyrs:
    if lyr.supports("DEFINITIONQUERY"):
        if len(lyr.definitionQuery.strip()): # a string with length
            print lyr.name, lyr.definitionQuery&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(My version of ArcMap allowed spaces as a definition query, so stripping them before checking length is advised.)&lt;/P&gt;</description>
      <pubDate>Sat, 12 Jun 2021 20:04:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1067669#M61352</guid>
      <dc:creator>RandyBurton</dc:creator>
      <dc:date>2021-06-12T20:04:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1069349#M61382</link>
      <description>&lt;P&gt;Not really; most layers have definition queries. It is similar, but I am looking for a query layer's definition, and not a layer's definition query.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jun 2021 14:09:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1069349#M61382</guid>
      <dc:creator>MattFrancis</dc:creator>
      <dc:date>2021-06-17T14:09:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1069498#M61391</link>
      <description>&lt;P&gt;Thanks; I am not getting a "%" and might be getting an underscore, but looking for that character will turn up many false positives.&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jun 2021 17:38:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1069498#M61391</guid>
      <dc:creator>MattFrancis</dc:creator>
      <dc:date>2021-06-17T17:38:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to find a query layer in a map document using arcpy</title>
      <link>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1069788#M61392</link>
      <description>&lt;P&gt;Similarly, I have an XY Event Layer (In layer properties, Source tab, Data Type: XY Event Source) and&amp;nbsp;desc.dataElement.dataType == "FeatureClass" is true for an XY Event Layer, though it is clearly not an SDE Feature Class.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Jun 2021 12:41:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-find-a-query-layer-in-a-map-document-using/m-p/1069788#M61392</guid>
      <dc:creator>MattFrancis</dc:creator>
      <dc:date>2021-06-18T12:41:59Z</dc:date>
    </item>
  </channel>
</rss>

