lesen und schreiben von shapefiles

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
haensel19
User
Beiträge: 2
Registriert: Montag 9. Dezember 2013, 07:45

Hallo
Ich habe mit Tkinter ein kleines Menü mit 4 Kommandobuttons erstellt.
Drücke ich auf den ersten Knopf, dann wird ein shapefile mit 15 Attributspalten eingelesen; mit Hilfe von "import shapefile.py" --> das funktioniert: Hier der Code:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
import shapefile # Die Datei"shapefile.py" mit ihren Classen und Funktionen wird importiert
sf = shapefile.Reader("fl_e_17.shp") # Die in Klammern stehende shape-Datei wird eingelesen. 
shapes = sf.shapes() # Die Geometrien werden eingelesen
records = sf.records() # Die Attribute werden eingelesen; aus der dbf-Datei
AnzahlRecords = len(shapes) # Ermittlung der Anzahl der Datensätze.
AnzahlSpalten = len(sf.fields) # Ermittlung der Anzahl der Attributspalten.
shapeRecs = sf.shapeRecords()
Beim Drücken auf den zweiten und dritten Knopf sollen doppelt vorkommende Werte in Spalte zwei bzw drei der Attr.tabelle ermittelt und gelöscht werden --> kommt später
Beim Drücken auf den vierten Knopf soll die so veränderte shape-Datei unter einem neuen Namen wieder abgespeichert werden --> hier hakt es z.Z.
Wer kann mir da bitte weiterhelfen? Muss ich beim Schreiben eines neuen shapefiles alle Attributspalten vorab wieder neu definieren? Die müssten doch in den Variablen "shapes" und "records" enthalten sein. Wie kriege ich die wieder in ein neues shapefile?
Zuletzt geändert von Anonymous am Montag 9. Dezember 2013, 09:22, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@haensel19: Nicht das ich mich mit dem Modul auskennen würde aber da gibt es eine `Editor`-Klasse mit der man eine Shape-Datei laden kann *und* die eine `save()`-Methode besitzt.
Antworten