Seite 1 von 1
QGIS - Geometrie duplizieren anhand eines Tabelleneintrages
Verfasst: Freitag 28. Oktober 2022, 07:48
von Homunkulus
Hallo zusammen,
ich hätte eine Frage zu einem Python Script, welches ich auf der folgenden Seite gefunden habe:
https://gis.stackexchange.com/questions ... 857#443857
Leider funktioniert das Script nicht so wie es beschrieben wird.
Ich habe alles genauso umgesetzt.
Es wird mir immer nur eine Geometrie dupliziert, verdreifacht, vervierfacht usw. Die anderen werden ignoriert.
Ich muss hinzufügen, dass ich überhaupt keine Kenntnisse in Pythonprogrammierung besitze.
Für eure Hilfe recht vielen Dank im voraus.
MFG
Re: QGIS - Geometrie duplizieren anhand eines Tabelleneintrages
Verfasst: Freitag 28. Oktober 2022, 08:44
von __blackjack__
@Homunkulus: In der Python-Dokumentation gibt es ein Tutorial. Wenn Du das durchgearbeitet hast, sollte der Fehler in dem Programm trivial sein. Der ist ziemlich offensichtlich.

Re: QGIS - Geometrie duplizieren anhand eines Tabelleneintrages
Verfasst: Freitag 28. Oktober 2022, 09:13
von __deets__
Versuch mal das hier:
Code: Alles auswählen
layer = iface.activeLayer() # my layer
provider = layer.dataProvider() # access to the features of the layer
# Loop on the features of the layer
for feature in layer.getFeatures():
id_duplicate = feature["id"] # value of the field id
number_duplicate = feature["number"] # number of duplicates
geometry_duplicate = feature.geometry() # geometry of my feature
# initialization of my counter which will allow me to know when I should stop duplicating
counter = 0
while counter != number_duplicate :
new_feature = QgsFeature() # new feature
new_feature.setAttributes([id_duplicate,number_duplicate]) # I apply the same attributes
new_feature.setGeometry(QgsGeometry(geometry_duplicate)) # I apply the same geometry
provider.addFeature(new_feature) # Addition of the new entity
counter += 1
# if the value of my field is equal to 1 then I stop duplicating this entity
and move on to the next one otherwise I continue.
Wenn das nicht hilft (die Einrückungen sind wichtig in Python!), dann braucht es einen Experten in ArcGIS, den du hier wahrscheinlich nicht findest. Mein Bruder macht das, aber kostet Geld

Re: QGIS - Geometrie duplizieren anhand eines Tabelleneintrages
Verfasst: Freitag 28. Oktober 2022, 11:43
von Homunkulus
Hallo,
das hier wiedergegebene Script entspricht ja 1:1 dem aus dem Tutorial.
Was diue Anpassung betrifft stehe ich auf dem Schlauch, sorry.
Trotzdem vielen dank schon mal für die antworten.
Re: QGIS - Geometrie duplizieren anhand eines Tabelleneintrages
Verfasst: Freitag 28. Oktober 2022, 11:57
von __blackjack__
@Homunkulus: Es entspricht eben nicht 1:1. Die Einrückung der zweiten Schleife ist anders. Die steht hier *in* der ``for``-Schleife und im SO Beitrag *nach* der ``for``-Schleife.
Re: QGIS - Geometrie duplizieren anhand eines Tabelleneintrages
Verfasst: Sonntag 30. Oktober 2022, 07:11
von Homunkulus
Ich wollte mich noch recht herzlich bedanken.
Funktioniert super.
Super !!!