Schleifen und 2 Shape Files oder DBF-Files

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sbfly
User
Beiträge: 32
Registriert: Montag 17. Oktober 2011, 14:57

Hi

ich habe folgendes Problem ich habe ein Shape mit über 100 Polygone die jeweils ein Datum beinhalten.

In einer zweiten Tabelle habe ich die selben Polygone allerdings kommen diese mehrfach vor. Das Datum steht für einen Zeit Punkt an dem das Polygon betretten werden kann. Nun möchte ich herausfinden wann der frühst mögliche Termin ist um ein Polygon betretten zu können.

Die einzelenen termine sind immer 13 tage von einander getrennt.

Also suche ich zu erst eine Funktion um das Datum aus dem ersten File auszulesen
diese Funktion möchte ich in eine Schleife packen um dies 100 mal durch führen zukönnen

als nächstes möchte ich das Datum mit jedem anderen Polygon vergleichen um erkennen zu können das z.B. in 39 Tagen es möglich wäre das Polygon zu betretten da zu diesem Zeit punkt noch keiner das Polygon betritt.

blöd beschrieben sorry aber hoffe das es klar wird :-)

kann mir da jemand helfen am wichtigsten wäre für mich die funktion um eine Zeile einer Spalte des Shapes oder des Polygones lessen zu können.

Gruß

FLo
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Du müsstest ein wenig mehr beschreiben, wie das Format aussieht! Benutzt Du dafür evtl. bereits einen Parser? Wenn ja welchen und Link zur Doku? Wir können ja nicht hellsehen ;-)

Datumsfunktionen gibt es im `datetime`-Modul. `strptime` könnte für Dich interessant sein; damit kannst Du einen Formatstring als Muster angeben, wie es in der Datei auftaucht.

Ohne mehr Infos kann man Dir da leider nicht besser helfen!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
sbfly
User
Beiträge: 32
Registriert: Montag 17. Oktober 2011, 14:57

Benutze halt das arcgis und die python funktionen daraus

Habe eigendlich das programm mittels model builder am laufen das einzige was noch fehlt ist das ich aus der einen tabelle 3 variablen herauslesen möchte innerhalb einer schleife als zähl variable hatte ich gern die zeilen.

Dann möchte in der zweiten dbf oder im shapefile das polygon wählen und zum datum immer 13 tage addieren bis der jeweilige tag frei ist.

Mir fehlt halt irgend eine funktion die mir den wert aus der spalte x und zeile y ausliest und in neuer spalte zeile ausgibt

Ich google morgen mal nach den von dir genannten funktionen
Gruß flo
BlackJack

@sbfly: Das es um die Software Arcgis geht hättest Du sagen sollen. Das kann man sonst wahrscheinlich nur erahnen, aber auch nur wenn man die Software kennt. Du redest da von Sachen die Dir vielleicht total verständlich vorkommen, und anderen die diese Software einsetzen, aber nicht für Python-Programmierer die das Programm nicht kennen.
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Ich kenn zwar Shapefiles und ArcGis, aber was ist der Modelbuilder? Irgendwas Neues in AV 10?

Kennst du schon http://gis.stackexchange.com/? Da gibt's immer viele Fragen & Antworten zu Python und Arc, da solltest du genug Antworten finden, die dir auf die Sprünge helfen.

Nachtrag zu Modelbuilder: Ok, habs gesucht (und gefunden). Benutzt du den aus einem bestimmten Grund?
sbfly
User
Beiträge: 32
Registriert: Montag 17. Oktober 2011, 14:57

Habe versucht phyton und Vba möglichst zu um gehen und mit dem Model builder konte ich einfache tools erstellen aller dings fehlt hier eine Schleifen Funktion und die möglich keit auf einzelne Zellen zu zugreifen deswegen komme ich nicht darum python zu nutzen :-)
dann schaue ich mal auf der seite nach :-)


@Hyperion als Parser bentze ich python2.5

schon mal danke für die mühe

Gruß

Flo
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Leider ist die Python Schnittstelle von ArcGIS ziemlich unpythonisch, aber an Beispielen mangelt es nicht. Sowohl die Dokumentation zu Arc selber, als auch im Web findet man mehr als genug Material. Das Auslesen von Attributen und die Behandlung von Features eines Shapefiles ist ja mehr so Basiswissen ... ;) :)

Ich selber benutze kein Arc (mehr), deshalb kann ich nicht mehr praktische Tipps geben ...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

sbfly hat geschrieben: @Hyperion als Parser bentze ich python2.5
Nee, das ist zwar auch eine wichtige Information, aber das wollte ich nicht wissen. Ich meinte ja eher die Lib, mit der Du solche Files einlesen kannst. Ich kenne das Umfeld nicht und kann mir nichts darunter vorstellen. Insofern ging / gehe ich davon aus, dass es für das Dateiformat einen Parser gibt. Und der bildet ja die Daten auf irgendwelche speziellen Datenstrukturen ab. An dieser Stelle kann man eben nur mit der zugehörigen Doku ansetzen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten