Mehr

Symbologie für Layer mit ArcPy ändern?

Symbologie für Layer mit ArcPy ändern?


Ich habe ein Shapefile, das ein 10 x 10 Raster von Quadraten ist. Das Shapefile hat 50 Attributspalten (mit den Namen p_1 bis p_50), wobei jede Spalte 100 Einträge hat (entsprechend den 100 Rasterquadraten) und jeder Eintrag einer von 1, 2, 3, 4 oder 5 ist.

Um p_1 zu visualisieren, navigiere ich zu Layer-Eigenschaften, klicke auf die Registerkarte Symbologie und klicke auf 'Eindeutige Werte', die unter Kategorien aufgeführt sind. Ich wähle dann 'p_1' aus dem Wertefeld aus, klicke auf die Schaltfläche 'Alle Werte hinzufügen' und klicke auf die Schaltfläche 'Übernehmen'. Dies führt zu einem Raster, in dem jedes Quadrat eine Farbe hat, die auf der Nummer basiert, die dem Rasterquadrat in der Spalte p_1 der Shapefile-Attributtabelle entspricht. Dann verwende ich die Funktion "Karte exportieren", um das farbige Raster als PNG zu speichern.

Da es jedoch 50 Spalten gibt, die 50 verschiedenen Plänen entsprechen, möchte ich diesen Prozess automatisieren.

Wie automatisiere ich diesen Prozess?


Mit Hilfe von @Fezter erreicht der folgende Code das meiste von dem, was ich will:

import arcpy mxd = arcpy.mapping.MapDocument("current") # Finde den Plan-Layer kdp_lyr = Keine für lyr in arcpy.mapping.ListLayers(mxd): if lyr.name == 'kd_plans': kdp_lyr = lyr break num_plans = 50 für i in range(0, num_plans): if kdp_lyr.symbologyType == "UNIQUE_VALUES": kdp_lyr.symbology.valueField = "all_the_plans$.plan_" + str(i) kdp_lyr.symbology.addAllValues() ## Null . entfernen value sourceList = kdp_lyr.symbology.classValues ​​sourceList.remove("") kdp_lyr.symbology.classValues ​​= sourceList kdp_lyr.symbology.showOtherValues ​​= False Ich glaube nicht, dass dies in meinem Fall funktioniert, denn laut Dokumentation:

Das anzuzeigende Feld im Eingabe-Layer muss den gleichen Namen wie das entsprechende Symbology-Layer-Feld haben. Wenn dieses Feld fehlt, werden die Ausgabedaten mit der Standardsymbologie gezeichnet.

und jedes Feld in meiner Eingabeebene hat einen anderen Namen.


Vorausgesetzt, Sie sind mit Python vertraut, können Sie dies mit dem UniqueValuesSymbology -Klasse im arcpy.mapping-Modul.

Sie können durch Ihre Felder und Mxds iterieren und das Wertfeld ändern.

Die beiden Beispiele in der Hilfedatei sollten Sie auf den Weg bringen.


Ich habe endlich das Problem überwunden, bei dem jedes Feld in meinem Eingabe-Layer einen anderen Namen hatte (und die von @Michael Miles-Stimson hervorgehobene Funktion Symbologie aus Layer anwenden erfordert, dass das Eingabe-Layer-Feld denselben Namen wie das Symbologie-Layer-Feld hat.

Ich habe zuerst einen Layer namens plan_template erstellt, der ein Feld namens "drawplan" hatte. Auf der Registerkarte Symbology des Layers plan_template habe ich die Farben und Werte ausgewählt, die ich verwenden wollte.

Dann habe ich im Layer district_plans ein Feld namens "drawplan" erstellt.

Schließlich fügte ich meine Plandaten aus einer .dbf-Datei hinzu (siehe diese Frage für Probleme beim Versuch, diesen Ansatz zu versuchen, wenn Daten in einer Excel-Datei gespeichert sind) und die Planinformationen mit dem Layer district_plans verbunden.

Ich habe dann folgenden Code ausgeführt

import arcpy mxd = arcpy.mapping.MapDocument("current") num_plans = 50 for i in range(0, num_plans): ## Daten vom plan_to_draw-Feld in das drawplan-Feld ## im Layer "district_plans" kopieren plan_to_draw = "!plan_" + str(i) + "!" arcpy.CalculateField_management("district_plans", "drawplan", plan_to_draw, "PYTHON") ## Symbologie vom Layer "plan_template" anwenden arcpy.ApplySymbologyFromLayer_management("district_plans", "plan_template") ## Karte aktualisieren und speichern arcpy.RefreshActiveView() arcpy.mapping.ExportToPNG(mxd, 'dplan_' + str(i) + '.png">Feld berechnen und wendet dann die im Layer plan_template definierte Symbologie an.


Mongolei

Mongolei ( / m ɒ n ˈ ɡ oʊ l i ə / ( hören ) , Mongolisch: Монгол Улс Mongolische Uls, Traditionelles Mongolisch: [a] Moŋğol ulus wörtlich "Mongol Nation" oder "State of Mongolia"), ist ein Binnenstaat in Ostasien. Es liegt zwischen Russland im Norden und China im Süden, wo es an die Autonome Region Innere Mongolei angrenzt. Die Mongolei grenzt nicht an Kasachstan, obwohl sie nur 37 Kilometer voneinander entfernt sind. Es umfasst eine Fläche von 1.564.116 Quadratkilometern (603.909 Quadratmeilen) mit einer Bevölkerung von nur 3,3 Millionen und ist damit die am dünnsten besiedelte souveräne Nation der Welt. Die Mongolei ist der größte Binnenstaat der Welt, der nicht an ein geschlossenes Meer grenzt, und ein Großteil seiner Fläche ist von Grassteppen bedeckt, mit Bergen im Norden und Westen und der Wüste Gobi im Süden. In Ulan Bator, der Hauptstadt und größten Stadt, lebt etwa die Hälfte der Bevölkerung des Landes.

  1. ^ Auch buchstabiert "Ulan Bator".
  2. ^ "Mongolisch" bezeichnet die Nationalität, zu der Minderheiten wie Kasachen oder Tuvaner gehören, während "Mongole" die mongolische ethnische Zugehörigkeit bezeichnet.

Das Territorium der heutigen Mongolei wurde von verschiedenen Nomadenreichen regiert, darunter die Xiongnu, die Xianbei, die Rouran, das Erste Turkische Khaganate und andere. 1206 gründete Dschingis Khan das Mongolische Reich, das zum größten zusammenhängenden Landreich der Geschichte wurde. Sein Enkel Kublai Khan eroberte China, um die Yuan-Dynastie zu gründen. Nach dem Zusammenbruch des Yuan zogen sich die Mongolen in die Mongolei zurück und nahmen ihr früheres Muster von Fraktionskonflikten wieder auf, außer während der Ära von Dayan Khan und Tumen Zasagt Khan. Im 16. Jahrhundert breitete sich der tibetische Buddhismus in der Mongolei aus, weiter angeführt von der von Mandschu gegründeten Qing-Dynastie, die das Land im 17. Jahrhundert absorbierte. Im frühen 20. Jahrhundert waren fast ein Drittel der erwachsenen männlichen Bevölkerung buddhistische Mönche. [14] [15] Nach dem Zusammenbruch der Qing-Dynastie im Jahr 1911 erklärte die Mongolei ihre Unabhängigkeit und erlangte 1921 die tatsächliche Unabhängigkeit von der Republik China. Kurz darauf wurde das Land ein Satellitenstaat der Sowjetunion, die ihre Unabhängigkeit von China. 1924 wurde die Mongolische Volksrepublik als sozialistischer Staat gegründet. [16] Nach den antikommunistischen Revolutionen von 1989 führte die Mongolei Anfang 1990 eine eigene friedliche demokratische Revolution durch. Dies führte zu einem Mehrparteiensystem, einer neuen Verfassung von 1992 und dem Übergang zur Marktwirtschaft.

Ungefähr 30% der Bevölkerung ist nomadisch oder halbnomadisch. Die Pferdekultur bleibt integraler Bestandteil. Der Buddhismus ist die Mehrheitsreligion, wobei die Nichtreligiösen die zweitgrößte Gruppe sind. Der Islam ist die zweitgrößte Religion und konzentriert sich auf ethnische Kasachen. Die meisten Bürger sind ethnische Mongolen, wobei etwa 5% der Bevölkerung Kasachen, Tuvaner und andere Minderheiten sind, die sich besonders im Westen konzentrieren. Die Mongolei ist Mitglied der Vereinten Nationen, des Asia Cooperation Dialogue, der G77, der Asian Infrastructure Investment Bank, der Blockfreien Bewegung und ein globaler Partner der NATO. Sie trat 1997 der Welthandelsorganisation bei und strebt eine Ausweitung ihrer Beteiligung an regionalen Wirtschafts- und Handelsgruppen an. [6]


Themenbereiche:

Im Kontext moderner Landschaften ist es besonders wichtig, das Vorkommen von Arten in Ökosystemen zu identifizieren, die ein hohes Schutzbedürfnis haben. In dieser Studie wurde untersucht, wie sich Faktoren auf Bestands- und Landschaftsskala auf prioritäre Vögel auswirken, die mit Langblattkiefern assoziiert sind (Pinus palutris) Ökosysteme. Hier habe ich die vorrangige Vogelbelegung unter 12 Bestandstypen im gesamten historischen Sortiment der Langblattkiefer verglichen. Ich fand offene Kiefernbestände positiv beeinflusst Rot-Kokadenspecht (Picoides borealis) und Bachmans Spatz (Peucaea aestivalis) Belegung, waren aber nicht signifikant mit Northern Bobwhite (Colinus Virginianus) und braunköpfiger Kleiber (Sitta pusilla) Auftreten. Landschafts- und Bestandsmaßstabsfaktoren wirkten sich auf Rot-Kokadenspecht, Bachman-Spatz und Braunkopfkleiber aus. Die Belegung des Northern Bobwhite wurde ausschließlich durch Faktoren des Landschaftsmaßstabs beeinflusst. Rot-Kokadenspecht und Bachmann-Spatz wurden durch Messwerte im Zusammenhang mit Langblattkiefer-Ökosystemen positiv beeinflusst, was darauf hindeutet, dass sie wirksame Indikatorarten sind. Meine Analyse zeigt, dass die Verwendung dieses mehrskaligen Ansatzes wertvoll ist, um Gebiete in der Landschaft zu identifizieren, deren Erhaltung und Wiederherstellung Priorität hat.


Schau das Video: ArcGIS Pro Symbology Tips