Mehr

Schleifen, wenn Bedingung mit ArcPy?


Ich arbeite mit Arcgis 10.1, ich versuche, eine Schleife für Python-Code zu erstellen, aber sie geben mir einen Fehler:

Parsing-Fehler IndentationError: unerwarteter Einzug (Zeile 18)

Ich weiß nicht, was schief läuft.

Dies ist der Code.

import arcpy import math arcpy.AddField_management("Parcelles_class_FeatureToPoi3","new_field","DOUBLE") cur = arcpy.UpdateCursor("Parcelles_class_FeatureToPoi3") for row in cur:… PointX = row.getValue("POINT_X")… print PointX… PointY = row.getValue("POINT_Y")… print PointY… EndX = row.getValue("end_x")… print EndX… EndY = row.getValue("end_y")… print EndY… dx = EndX - PointX… dy = EndY - PointY… azimut = math.atan2(dy, dx)… azimut drucken… azimut_gr = azimut*200/3.14519… azimut_gr drucken if (dy>=0 und dx>= 0 ):… azimut_fi = azimut_gr… else :… if (dy>=0 und dx<= 0 ):… azimut_fi = 200- azimut_gr… else :… if (dy<=0 und dx<= 0 ):… azimut_fi = 200 + azimut_gr… else :… if (dy<= 0 und dx>= 0 ):… azimuth_fi = 400 - azimuth_gr… print azimuth_fi row.setValue("new_field", azimuth_fi) cur.updateRow(row)

Bei elif wäre es viel klarer als bei else: if: . Nicht, dass Sie Ihre Bedingung auch hierachisch gruppieren könnten, wenn (zuerst test dy, dann test dx => du machst 2 Tests statt bis zu 4 Tests)

… print azimuth_gr if (dy>=0 und dx>= 0 ): #if sollte ausgerichtet werden mit print azimuth_fi = azimuth_gr elif (dy>=0 und dx<= 0 ): azimuth_fi = 200- azimuth_gr elif (dy<=0 and dx<= 0 ): azimuth_fi = 200 + azimuth_gr else: azimuth_fi = 400 - azimuth_gr print azimuth_fi row.setValue("new_field", azimuth_fi) #diese Zeile sollte auch ausgerichtet werden, sonst aktualisieren Sie nur die letzte Zeile Reihe) del(Reihe, Cur)

Cursos de ArcGIS mit Python-Skripting

ArcGIS* ist ein geografisches Informationssystem zum Arbeiten mit Geodaten. Durch die Verwendung von Python mit ArcGIS können Benutzer sich wiederholende Aufgaben im Zusammenhang mit der GIS-Datenverwaltung und -analyse automatisieren.

Dieses von Lehrern geleitete Live-Training (online oder vor Ort) richtet sich an GIS-Analysten, die sich wiederholende Aufgaben in GIS-Prozessen automatisieren möchten.

Am Ende dieser Schulung sind die Teilnehmer in der Lage:

  • Erstellen Sie GIS-Anwendungen mit Python- und ArcGIS-Werkzeugen.
  • Entwickeln Sie mit dem ArcGIS-Paket ArcPy unter Verwendung von Python.
  • Wenden Sie die ArcGIS-Module für die Kartenautomatisierung mithilfe von Objektklassen in Python an.

Format des Kurses

  • Interaktiver Vortrag und Diskussion.
  • Viele Übungen und Übungen.
  • Praktische Implementierung in einer Live-Lab-Umgebung.

Kursanpassungsoptionen

Geo- und räumliche Daten

  • Datentypen
  • Variablen, Funktionen und bedingte Anweisungen
  • Schleifen und Listen
  • Klassen und Objekte

Vorbereiten der Entwicklungsumgebung

Geoverarbeitung und Arbeitsabläufe

  • Ein Projekt erstellen
  • Code als Skript speichern
  • Arbeiten mit Toolboxen
  • Erstellen einer benutzerdefinierten Toolbox
  • Skripte dokumentieren
  • Ausgabe überschreiben
  • Festlegen des aktuellen Workspace und der Ausdehnung in der Geoverarbeitung
  • Inventur durchführen
  • Auflisten von Arbeitsbereichen, Datensätzen, Klassen, Tabellen und Feldern
  • Beschreiben und Laufdaten
  • Arbeiten mit Geometrien
  • Verwendung von arcpy.da
  • Implementieren von Symbolik
  • Hinzufügen und Bearbeiten von Ebenen

*ArcGIS ist eine Marke, Dienstleistungsmarke und eingetragene Marke von Esri in den USA, der EU und anderen internationalen Rechtsordnungen. Esri hat diesen Schulungskurs nicht auf Vollständigkeit, Genauigkeit oder Qualität überprüft und befürwortet, sponsert oder beteiligt sich daher nicht an diesem Schulungskurs.


Holen Sie sich einen bestimmten Wert aus einer Tabelle, indem Sie einige Bedingungen in Python verwenden

Ich habe eine Tabelle, in der die verschiedenen Werte in der Tabelle das Ergebnis einer Kombination verschiedener Bedingungen sind. In der folgenden Abbildung lautet die Bedingung beispielsweise wie folgt: if coverType=fallow , Treatment=Crop Residue Cover, Condition/ImperviousArea=Good, SoilType=C, dann ist der Wert gleich 83. Ich möchte ein Tool haben, das den Benutzer auffordert, einen Wert aus jeder Spalte auszuwählen (zB CoverType SoilType, . ) und dann die zugehörige Zahl als Ausgabe zurückzugeben. Haben Sie eine Idee, wie ich das machen soll? Bisher habe ich nur die ersten Zeilen des Codes wie folgt:


1 Antwort 1

Das Datenbankelement ist das Problem, nicht das dc-Element.

Wenn die Datenbank kein gültiger Arbeitsbereich ist, gibt die Methode arcpy.ListDatasets() None zurück. (Dies ist ein ärgerlich stiller Fehler.) Dadurch wird die dcList-Schleife unterbrochen, da Sie nicht über ein NoneType-Objekt iterieren können.

Ich dachte, Sie könnten auch None erhalten, indem Sie ListDatasets für einen Workspace ohne Datasets ausführen, aber beim Testen mit einer leeren Geodatabase erhalten Sie stattdessen eine leere Liste []. Es ist also definitiv ein Problem mit der Datenbank.


ArcGIS with Python Scripting-Schulungskurs

ArcGIS* ist ein geografisches Informationssystem zum Arbeiten mit Geodaten. Durch die Verwendung von Python mit ArcGIS können Benutzer sich wiederholende Aufgaben im Zusammenhang mit der GIS-Datenverwaltung und -analyse automatisieren.

Dieses von Lehrern geleitete Live-Training (online oder vor Ort) richtet sich an GIS-Analysten, die sich wiederholende Aufgaben in GIS-Prozessen automatisieren möchten.

Am Ende dieser Schulung sind die Teilnehmer in der Lage:

  • Erstellen Sie GIS-Anwendungen mit Python- und ArcGIS-Werkzeugen.
  • Entwickeln Sie mit dem ArcGIS-Paket ArcPy unter Verwendung von Python.
  • Wenden Sie die ArcGIS-Module für die Kartenautomatisierung mithilfe von Objektklassen in Python an.

Format des Kurses

  • Interaktiver Vortrag und Diskussion.
  • Viele Übungen und Übungen.
  • Praktische Implementierung in einer Live-Lab-Umgebung.

Kursanpassungsoptionen

Geo- und räumliche Daten

  • Datentypen
  • Variablen, Funktionen und bedingte Anweisungen
  • Schleifen und Listen
  • Klassen und Objekte

Vorbereiten der Entwicklungsumgebung

Geoverarbeitung und Arbeitsabläufe

  • Ein Projekt erstellen
  • Code als Skript speichern
  • Arbeiten mit Toolboxen
  • Erstellen einer benutzerdefinierten Toolbox
  • Skripte dokumentieren
  • Ausgabe überschreiben
  • Festlegen des aktuellen Workspace und der Ausdehnung in der Geoverarbeitung
  • Inventur durchführen
  • Auflisten von Arbeitsbereichen, Datensätzen, Klassen, Tabellen und Feldern
  • Beschreiben und Laufdaten
  • Arbeiten mit Geometrien
  • Verwendung von arcpy.da
  • Implementieren von Symbolik
  • Hinzufügen und Bearbeiten von Ebenen

*ArcGIS ist eine Marke, Dienstleistungsmarke und eingetragene Marke von Esri in den USA, der EU und anderen internationalen Rechtsordnungen. Esri hat diesen Schulungskurs nicht auf Vollständigkeit, Genauigkeit oder Qualität überprüft und befürwortet, sponsert oder beteiligt sich daher nicht an diesem Schulungskurs.

Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Was mir am Training am besten gefallen hat, war die Organisation und der Ort

Hamid Tuama - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Was mir am Training am besten gefallen hat, war die Organisation und der Ort

Hamid Tuama - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Mustafa A. Mohoder Alshamy - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

أشجان محمد العيداني - Fähigkeit mit Innovation General Contracting (DMCC Branch)


Kurze Antwort (am nächsten zu Ihrer Antwort, aber mit Leerzeichen)

Bessere Antwort (verarbeitet auch Platzhalter und Zeilenumbrüche in Dateinamen)

Beste Antwort (basierend auf Gilles' Antwort)

Oder noch besser, um zu vermeiden, dass eine sh pro Datei ausgeführt wird:

Lange Antwort

  1. Standardmäßig teilt die Shell die Ausgabe eines Befehls in Leerzeichen, Tabulatoren und Zeilenumbrüche
  2. Dateinamen könnten Platzhalterzeichen enthalten, die erweitert werden würden
  3. Was ist, wenn es ein Verzeichnis gibt, dessen Name auf *.csv endet?

1. Teilen nur bei Zeilenumbrüchen

Um herauszufinden, worauf file gesetzt werden soll, muss die Shell die Ausgabe von find nehmen und irgendwie interpretieren, sonst wäre file nur die gesamte Ausgabe von find .

Die Shell liest die IFS-Variable, die standardmäßig auf <space><tab><newline> gesetzt ist.

Dann betrachtet es jedes Zeichen in der Ausgabe von find . Sobald es ein Zeichen sieht, das in IFS enthalten ist, denkt es, dass es das Ende des Dateinamens markiert, also setzt es file auf alle Zeichen, die es bis jetzt gesehen hat, und führt die Schleife aus. Dann beginnt es dort, wo es aufgehört hat, um den nächsten Dateinamen zu erhalten, und führt die nächste Schleife usw. aus, bis es das Ende der Ausgabe erreicht.

Es tut also effektiv dies:

Um es anzuweisen, die Eingabe nur in Zeilenumbrüchen aufzuteilen, müssen Sie Folgendes tun:

vor Ihrem für. Befehl finden.

Dadurch wird IFS auf einen einzelnen Zeilenumbruch gesetzt, sodass es nur bei Zeilenumbrüchen und nicht auch bei Leerzeichen und Tabulatoren geteilt wird.

Wenn Sie sh oder dash anstelle von ksh93 , bash oder zsh verwenden, müssen Sie IFS= . schreiben

Cursos de ArcGIS mit Python-Skripting

ArcGIS* ist ein geografisches Informationssystem zum Arbeiten mit Geodaten. Durch die Verwendung von Python mit ArcGIS können Benutzer sich wiederholende Aufgaben im Zusammenhang mit der GIS-Datenverwaltung und -analyse automatisieren.

Dieses von Lehrern geleitete Live-Training (online oder vor Ort) richtet sich an GIS-Analysten, die sich wiederholende Aufgaben in GIS-Prozessen automatisieren möchten.

Am Ende dieser Schulung sind die Teilnehmer in der Lage:

  • Erstellen Sie GIS-Anwendungen mit Python- und ArcGIS-Werkzeugen.
  • Entwickeln Sie mit dem ArcGIS-Paket ArcPy unter Verwendung von Python.
  • Wenden Sie die ArcGIS-Module für die Kartenautomatisierung mithilfe von Objektklassen in Python an.

Format des Kurses

  • Interaktiver Vortrag und Diskussion.
  • Viele Übungen und Übungen.
  • Praktische Implementierung in einer Live-Lab-Umgebung.

Kursanpassungsoptionen

Geo- und räumliche Daten

  • Datentypen
  • Variablen, Funktionen und bedingte Anweisungen
  • Schleifen und Listen
  • Klassen und Objekte

Vorbereiten der Entwicklungsumgebung

Geoverarbeitung und Arbeitsabläufe

  • Ein Projekt erstellen
  • Code als Skript speichern
  • Arbeiten mit Toolboxen
  • Erstellen einer benutzerdefinierten Toolbox
  • Skripte dokumentieren
  • Ausgabe überschreiben
  • Festlegen des aktuellen Workspace und der Ausdehnung in der Geoverarbeitung
  • Inventur durchführen
  • Auflisten von Arbeitsbereichen, Datensätzen, Klassen, Tabellen und Feldern
  • Beschreiben und Laufdaten
  • Arbeiten mit Geometrien
  • Verwendung von arcpy.da
  • Implementieren von Symbolik
  • Hinzufügen und Bearbeiten von Ebenen

*ArcGIS ist eine Marke, Dienstleistungsmarke und eingetragene Marke von Esri in den USA, der EU und anderen internationalen Rechtsordnungen. Esri hat diesen Schulungskurs nicht auf Vollständigkeit, Genauigkeit oder Qualität überprüft und befürwortet, sponsert oder beteiligt sich daher nicht an diesem Schulungskurs.


Einige unserer Kunden

Wächst schnell!

Wir möchten unsere Präsenz in Estland ausbauen!

Als Business Development Manager werden Sie:

  • Geschäft in Estland ausbauen
  • lokale Talente rekrutieren (Vertrieb, Agenten, Trainer, Berater)
  • lokale Trainer und Berater rekrutieren

Wir bieten:

  • Künstliche Intelligenz und Big Data-Systeme zur Unterstützung Ihres lokalen Betriebs
  • Hightech-Automatisierung
  • laufend aktualisierter Kurskatalog und Inhalt
  • viel spaß im internationalen team

Wenn Sie daran interessiert sind, ein hochtechnologisches, qualitativ hochwertiges Schulungs- und Beratungsunternehmen zu führen.


ArcGIS mit Python-Skripting Kurzusok

ArcGIS* ist ein geografisches Informationssystem zum Arbeiten mit Geodaten. Durch die Verwendung von Python mit ArcGIS können Benutzer sich wiederholende Aufgaben im Zusammenhang mit der GIS-Datenverwaltung und -analyse automatisieren.

Dieses von Lehrern geleitete Live-Training (online oder vor Ort) richtet sich an GIS-Analysten, die sich wiederholende Aufgaben in GIS-Prozessen automatisieren möchten.

Am Ende dieser Schulung sind die Teilnehmer in der Lage:

  • Erstellen Sie GIS-Anwendungen mit Python- und ArcGIS-Werkzeugen.
  • Entwickeln Sie mit dem ArcGIS-Paket ArcPy unter Verwendung von Python.
  • Wenden Sie die ArcGIS-Module für die Kartenautomatisierung mithilfe von Objektklassen in Python an.

Format des Kurses

  • Interaktiver Vortrag und Diskussion.
  • Viele Übungen und Übungen.
  • Praktische Implementierung in einer Live-Lab-Umgebung.

Kursanpassungsoptionen

Geo- und räumliche Daten

  • Datentypen
  • Variablen, Funktionen und bedingte Anweisungen
  • Schleifen und Listen
  • Klassen und Objekte

Vorbereiten der Entwicklungsumgebung

Geoverarbeitung und Arbeitsabläufe

  • Ein Projekt erstellen
  • Code als Skript speichern
  • Arbeiten mit Toolboxen
  • Erstellen einer benutzerdefinierten Toolbox
  • Skripte dokumentieren
  • Ausgabe überschreiben
  • Festlegen des aktuellen Workspace und der Ausdehnung in der Geoverarbeitung
  • Inventur durchführen
  • Auflisten von Arbeitsbereichen, Datensätzen, Klassen, Tabellen und Feldern
  • Beschreiben und Laufdaten
  • Arbeiten mit Geometrien
  • Verwendung von arcpy.da
  • Implementieren von Symbolik
  • Hinzufügen und Bearbeiten von Ebenen

*ArcGIS ist eine Marke, Dienstleistungsmarke und eingetragene Marke von Esri in den USA, der EU und anderen internationalen Rechtsordnungen. Esri hat diesen Schulungskurs nicht auf Vollständigkeit, Genauigkeit oder Qualität überprüft und befürwortet, sponsert oder beteiligt sich daher nicht an diesem Schulungskurs.

Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurzus:ArcGIS for Spatial Analysis

A dolog, amit a leggyakoribb a képzésről szeretem, a szervezet és a helyszín

Hamid Tuama - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurzus:ArcGIS for Spatial Analysis

A dolog, amit a leggyakoribb a képzésről szeretem, a szervezet és a helyszín

Hamid Tuama - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurzus:ArcGIS for Spatial Analysis

Mustafa A. Mohoder Alshamy - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurzus:ArcGIS for Spatial Analysis

Szervezet, pontos és nyugalom

أشجان محمد العيداني - Fähigkeit mit Innovation General Contracting (DMCC Branch)


ArcGIS mit Python Scripting Schulung

ArcGIS* ist ein geografisches Informationssystem zum Arbeiten mit Geodaten. Durch die Verwendung von Python mit ArcGIS können Benutzer sich wiederholende Aufgaben im Zusammenhang mit der GIS-Datenverwaltung und -analyse automatisieren.

Dieses von Lehrern geleitete Live-Training (online oder vor Ort) richtet sich an GIS-Analysten, die sich wiederholende Aufgaben in GIS-Prozessen automatisieren möchten.

Am Ende dieser Schulung sind die Teilnehmer in der Lage:

  • Erstellen Sie GIS-Anwendungen mit Python- und ArcGIS-Werkzeugen.
  • Entwickeln Sie mit dem ArcGIS-Paket ArcPy unter Verwendung von Python.
  • Wenden Sie die ArcGIS-Module für die Kartenautomatisierung mithilfe von Objektklassen in Python an.

Format des Kurses

  • Interaktiver Vortrag und Diskussion.
  • Viele Übungen und Übungen.
  • Praktische Implementierung in einer Live-Lab-Umgebung.

Kursanpassungsoptionen

Geo- und räumliche Daten

  • Datentypen
  • Variablen, Funktionen und bedingte Anweisungen
  • Schleifen und Listen
  • Klassen und Objekte

Vorbereiten der Entwicklungsumgebung

Geoverarbeitung und Arbeitsabläufe

  • Ein Projekt erstellen
  • Code als Skript speichern
  • Arbeiten mit Toolboxen
  • Erstellen einer benutzerdefinierten Toolbox
  • Skripte dokumentieren
  • Ausgabe überschreiben
  • Festlegen des aktuellen Workspace und der Ausdehnung in der Geoverarbeitung
  • Inventur durchführen
  • Auflisten von Arbeitsbereichen, Datensätzen, Klassen, Tabellen und Feldern
  • Beschreiben und Laufdaten
  • Arbeiten mit Geometrien
  • Verwendung von arcpy.da
  • Implementieren von Symbolik
  • Hinzufügen und Bearbeiten von Ebenen

*ArcGIS ist eine Marke, Dienstleistungsmarke und eingetragene Marke von Esri in den USA, der EU und anderen internationalen Rechtsordnungen. Esri hat diesen Schulungskurs nicht auf Vollständigkeit, Genauigkeit oder Qualität überprüft und befürwortet, sponsert oder beteiligt sich daher nicht an diesem Schulungskurs.

Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Das Ding, das ich am meisten über das Training, war die Organisation und der Ort

Hamid Tuama - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Das Ding, das ich am meisten über das Training, war die Organisation und der Ort

Hamid Tuama - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Mustafa A. Mohoder Alshamy - Fähigkeit mit Innovation General Contracting (DMCC Branch)

Kurs:ArcGIS for Spatial Analysis

Organisation, Genaue und Ruhe

أشجان محمد العيداني - Fähigkeit mit Innovation General Contracting (DMCC Branch)