Mer

Sette X / Y skyggeforskyvningsverdier til 1 og -1 i avansert tekstvindu ved hjelp av ArcPy?


Jeg prøver å bruke et etikettuttrykk med ArcGIS-formateringskoder for å skape en skygge på teksten min. Jeg har gjort alt jeg trenger bortsett fra å tilordne en verdi på 1 til X forskyvning, og en verdi på -1 til Y forskyvning.

Nedenfor er koden min:

importere arcpy mxd = arcpy.mapping.MapDocument (r "CURRENT") df = arcpy.mapping.ListDataFrames (mxd, "Layers") [0] updateLayer = arcpy.mapping.ListLayers (mxd, "OCParcelsAPN selection", df) [ 0] sourceLayer = arcpy.mapping.Layer (r "L:  GISLibrary  Scripts  Python  ReferenceLayers  OCParcels_selection.lyr") arcpy.mapping.UpdateLayer (df, updateLayer, sourceLayer, True) del sourceLayer mxd = arcpy.mapping. MapDocument (r "CURRENT") lag = arcpy.mapping.ListLayers (mxd) [0] if layer.supports ("LABELCLASSES"): for lblclass in layer.labelClasses: lblclass.className = "ASSESSMENT" lblclass.expression = '" " & [EVALUERING] & " "'lblclass.showClassLabels = True layer.showLabels = True arcpy.RefreshActiveView ()


Som @PolyGeo uttalte, er det en ArcPy-begrensning.

Løsningen er å konfigurere disse egenskapene i en .lyr-fil på disken (engang med ArcMap) og deretter bruke den lagfilen i arcpy-skriptet.

Når det gjelder skriptet ditt, bruker du allerede en lagfil på disken, så dette betyr ganske enkelt å oppdatere disse egenskapene ved hjelp av ArcMap (bare en gang) i den eksisterende filen du allerede refererer til her:

sourceLayer = arcpy.mapping.Layer (r "L:  GISLibrary  Scripts  Python  Reference Layers  OCParcels_selection.lyr")

Måten du endrer skrift, farge og størrelse på er å bruke tagger for tekstformatering:

ArcGIS-tekstformateringskoder lar deg endre formateringen for en del av teksten. Dette lar deg lage tekst i blandet format der for eksempel ett ord i en setning er understreket. Tekstformateringskoder kan brukes nesten hvor som helst tekst er plassert på eller rundt kartet i ArcMap.

Det er imidlertid ikke mulig å endre skygge i tekstformateringskoder, så jeg tror du er opp mot en ArcPy-begrensning. Du kan sende inn en ArcGIS-idé for dette, men hvis du gjør det, anbefaler jeg å målrette ArcGIS Pro's arcpy.mp i stedet for arcpy.mapping-modulen i ArcGIS 10.x-arkitekturen.


Jeg mistenker at i ArcGIS Pro kan denne funksjonaliteten nå være tilgjengelig for deg fra ArcPy ved å bruke Python CIM Access.