Select to view content in your preferred language

Make Query Layer - M Values Enabled in ArcGIS Notebooks but not in VS Code

187
0
02-21-2025 06:36 AM
Beth_Newhart1
Emerging Contributor

I am trying to use Make Query Layer to create an m-enabled query layer. The tool works as expected in ArcGIS Notebooks but not in a separate code editor like VS Code. Here are the parameters I'm using:

 

import arcpy
arcpy.env.overwriteOutput = True
arcpy.env.outputMFlag = "Same As Input"
 
input_database = r'filepath\PODS7.sde'
PartL_query ="""SELECT CONVERT(INT,ROW_NUMBER() OVER(ORDER BY HCA.ROUTE_NAME ASC, HCA.FROM_MEASURE ASC)) as OBJECTID,
PSUM.OPID,
PSUM.OPERATOR,
PSUM.SYSTEM_TYPE,
CASE
WHEN PSUM.IS_INTERSTATE IN ('No') THEN 'INTRA'
    ELSE 'INTER'
    END AS INTER_INTRA,
HCA.ROUTE_NAME,
CASE
WHEN HCA.HCA_IMPACTED_TYPE IN ('CSA','EESACA') THEN 'ECO' ELSE HCA.HCA_IMPACTED_TYPE END AS 'HCA_IMPACTED_TYPE',
CMN.ROUTE_ID,
HCA.PIPELINE_ID,
HCA.SHAPE
FROM [VALERO_PODS7].[PODS].[v_HCA_CONSEQUENCE_SEGMENT] HCA
LEFT JOIN [VALERO_PODS7].[PODS].[CONTINUOUS_MEAS_NETWORK] CMN
ON HCA.DERIVED_CM_NETWORK_ID = CMN.UNIQUE_ID
LEFT JOIN [VALERO_PODS7].[PODS].[v_PIPELINE_SUMMARY] PSUM
ON HCA.PIPELINE_ID = PSUM.PIPELINE_ID
                   WHERE CMN.GDB_ARCHIVE_OID IN
                  (SELECT PT.GDB_ARCHIVE_OID FROM
        (SELECT GDB_ARCHIVE_OID, GDB_IS_DELETE, ROW_NUMBER() OVER (PARTITION BY OBJECTID ORDER BY GDB_FROM_DATE DESC) ROW_ID
                    FROM [VALERO_PODS7].[PODS].[CONTINUOUS_MEAS_NETWORK]
                    WHERE GDB_BRANCH_ID = 0) PT
                    WHERE PT.ROW_ID = 1 AND PT.GDB_IS_DELETE = 0) AND (CMN.STATUS = 'Current' AND CMN.TO_DATE IS NULL) AND CMN.OPERATIONAL_STATUS NOT IN ('ABANDONED') AND PSUM.OPID IN ('39105',
'20202',
'32223',
'4430',
'32364',
'39105',
'40051',
'26112',
'39647',
'39648') AND SYSTEM_TYPE IN ('HVL','CRUDE','PRODUCT') AND IS_DOT_REPORTING IN ('Yes')"""
 
sr = arcpy.SpatialReference(4269)

arcpy.management.MakeQueryLayer(input_database=input_database, out_layer_name='PART_L_HCA', query=PartL_query, oid_fields='OBJECTID',shape_type='POLYLINE',srid=4269,spatial_reference=sr,m_values="INCLUDE_M_VALUES")
 
PART_L_HCA = 'PART_L_HCA'
desc = arcpy.Describe(PART_L_HCA)
print(desc.hasM)
 
The SQL views being accessed in the SQL query are m-enabled. If I execute this code in VS Code, the result is not M enabled. If I copy/paste this code into ArcGIS Notebooks, the tool works as expected and outputs an M-enabled query layer. My desired result is an M-enabled layer. Are there any more environment settings I can tweak? I am using ArcGIS Pro 3.2.3. TIA.
 
 
 

 

 

 

0 Kudos
0 Replies