Zum Inhalt springen

Parzellennummern in Datenbank schreiben


Mel

Empfohlene Beiträge

Hallo liebes Forum

 

Aus einem Lageplan mit Parzellennummern (eigene Klasse) sollen alle Parzellennummern automatisch in das vorher definierte Datenbankfeld (unter Info> Daten) geschrieben werden, damit ich die Eigentümer etc. dazuschreiben kann.

 

Wie verknüpfe ich die Parzellennummern im Plan am Besten mit einer Datenbank?

Oder sollte ich mit einem Multistempel arbeiten?

 

Vielen Dank für eure Hilfe.

Gruess

Mel

iMac (2011) OS X 10.10.5, 4GB RAM

VW 16 SP2 ARCH + RW

Link zu diesem Kommentar

Hallo Mel

 

Multistempel wäre eine Möglichkeit. Wenn Du viele Parzellen hast und dich mit Vectorscript etwas auskennst, kannst Du auch ein Script benutzen.

 

Angehänges Script macht folgendes:

1. Ein Polygon, wird mit der Datenbank db = 'Parzellendaten' verknüpft

2. Das Feld field = 'Parz Nr' wird mit dem Textinhalt eines Textblockes ausgefüllt, welcher ganz innerhalb des Polygons liegen muss

3. Der Text muss der Klasse klasse = 'Keine' befindet (So kann vermieden werden, dass auch andere Text (Hausnummern etc. in der Datenbank landen))

4. Zur Kontrolle, kannst Du eine Tabelle anlegen.

 

Das Script funktioniert unter folgenden Bedigungen:

1. Parzellen sind Polygone oder Polylinien

2. Klasse, Datenbank und Datenbankfeld, müssen bereits vorhanden sein

 

Im Script befinden sich folgende Zeilen, welche Du manuell anpassen kannst:

 

klasse = 'Keine'

db = 'Parzellendaten'

field = 'Parz Nr'

 

Gruss

Dominique

 

 

Für Scripts, gilt wie immer folgender Grundsatz:

#Auf einer Kopie des Originalplanes ausprobieren.

#Auf dieses Script kann kein Support und keine Gewährleistung gegeben werden.

#Für Fragen und Hilfe betreffend Scripts, empfiehlt sich das Forum (www.vectorworksforum.de oder www.vectorworks.net/community)

#Damit das Script läuft, muss oben im Script-Editor das Popup Scriptsprache auf "Python Script" eingestellt werden.

Parzellen Nummer Script.zip

1473868057_Bildschirmfoto2016-02-14um11_59_24.thumb.png.496c39464bf50a69d148ec437ae1a21b.png

Macbook m3 Max 48 GB | Ryzen 3950x 64GB NVIDIA rtx3090

Link zu diesem Kommentar

Hallo Dominique

 

Danke für die schnelle Antwort.

Ich habe in deine angehängte Datei einen Ausschnitt aus meinem Lageplan reinkopiert,

im Script die Klasse "Keine" mit meiner ("Grundstück-Nr.") überschrieben

beim Script rechte Maus "Ausführen" gewählt > es funktioniert :-)

d.h.

wenn ich die Parzellengrenze (geschlossenes Polygon) anklickte, sehe ich in Info> Daten nun das Datenbankfeld "Parz.Nr" ausgefüllt mit der effekiven Parzellen-Nr.

Wenn ich die Parzellen-Nr. im Plan (Textfeld) mit der gleichen Datenbank verknüpfe, bleibt jedoch das gleiche Datenbankfeld "Parz.Nr" leer > was mache ich falsch?

 

oder andere Frage:

Kann ich ohne Script (kenne mich da zu wenig aus)

mit einer Tabelle über

Funktion und Suchkriterium

alle Parzellennummern (oder alle Fixpunkt-Nr. , alle Texte in Klasse xy etc.) aus dem Plan in der Tabelle auflisten lassen?

Funktion '= Wert' funktionierte irgendwie nicht... Suchkriterium sollte C=Klasse sein oder?

auch hier scheitere ich leider....

 

Danke für Hilfe.

Gruess

Mel

iMac (2011) OS X 10.10.5, 4GB RAM

VW 16 SP2 ARCH + RW

Link zu diesem Kommentar
Wenn ich die Parzellen-Nr. im Plan (Textfeld) mit der gleichen Datenbank verknüpfe, bleibt jedoch das gleiche Datenbankfeld "Parz.Nr" leer > was mache ich falsch?

 

Nichts :-) Das Script schreibt verknüpft "nur" die Parzellenfläche mit der Datenbank.

Wenn Du danach eine Liste hast mit allen Objekten, welche mit der Datenbank "Parzellendaten" musst Du ja dann entweder die Polygone oder die Texte wieder mit dem Kriterium rausfiltern. Ansonsten ist alles Doppelt. Ebenfalls hängen an der Parzellenfläche mehr Infos, als am Text (Fläche, Umfang, Grafik u.s.w.)

 

Die Frage ist natürlich was das Endziel sein soll, wenn Objekte mit der Datenbank verknüpft werden. Eine Liste mit allen Parzellennummern oder gleichzeitig noch Fläche der Parzelle. Oder möchtest Du in einer Tabelle die Parzellennummern verändern können?

 

Wenn Du den Text ebenfalls (oder nur den Text) mit der DB verknüpften möchtest, dann kannst Du das Script wie folgt anpassen:

 

		vs.SetRecord(poly_h,db)
	vs.SetRecord(text_h,db)
	vs.SetRField(poly_h, db, field,text)
	vs.SetRField(text_h, db, field,text)

 

 

Tabelle:

In der Tabelle, kannst Du alle Infos anzeigen lassen, welche als als Information vorhanden sind. D.h. Ebenen, Klassen, Fläche Datenbankinfos, u.s.w. Der Inhalt eines Textfeldes, ist aber nicht zugängliche via Tabelle. D.h.via Suchkriterium, kriegst Du die Polygone, Textfelder u.s.w. sauber in die Tabelle rein. Aber die Parzellennummer, bleibt für die Tabelle unsichtbar. Da Hilft meines Wissens nur ein Script, oder ein Manuell (oder mit Stempel und dergleichen) angelegter zusätzlicher Datenbankeintrag.

 

Datenbankeinträge, kannst Du übrigens in der Tabelle verändern (Bi-direktional).

Macbook m3 Max 48 GB | Ryzen 3950x 64GB NVIDIA rtx3090

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      23,5Tsd
    • Beiträge insgesamt
      121,1Tsd
×
×
  • Neu erstellen...