14.04.2015 Aufrufe

Studienarbeit - GIS-Management

Studienarbeit - GIS-Management

Studienarbeit - GIS-Management

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

PGA<br />

Prof. Dr.-Ing. Franz-Josef Behr<br />

FACHHOCHSCHULE<br />

HOCHSCHULE FÜR<br />

STUTTGART<br />

TECHNIK<br />

Vermessung und Geoinformatik<br />

<strong>Studienarbeit</strong><br />

Aufgabe<br />

Daten im BGRUND-Format bestehen aus Punktdaten sowie Grundrissdaten. Für das Einlesen und<br />

Auswerten der Punktdaten steht bereits ein C++-Programm zur Verfügung.<br />

Dieses Programm ist um folgende Teile zu erweitern bzw. zu ergänzen:<br />

1. Umstellung der Datenstruktur zur Speicherung der Punktdaten auf die Klasse vector der<br />

Standard Template Library (STL, wird in einer der nächsten Vorlesungen behandelt).<br />

2. Auswertung der Flurstücksinformation (siehe unten). Dazu sind die Angaben für die einzelnen<br />

Flurstücke auszuwerten und eine Liste der Punktkoordinaten zu einem Flurstück aufzubauen.<br />

Eine Einlesefunktion für Linieninformation ist zu entwerfen und zu implementieren. Dabei ist<br />

auf die Punktliste zuzugreifen.<br />

3. Ausgabe der Flurstücke im XML (xml) bzw. SVG-Format (.svg).<br />

Die Ausgabe in XML ist beispielsweise mittels Internet Explorer zu prüfen und für die Abgabe durch<br />

einen Screenshot zu dokumentieren. Nach Möglichkeit ist der Internet Explorer direkt aus Ihrem<br />

Programm heraus zu starten und die Datei zur Anzeige zu bringen.<br />

Die Ausgabe in SVG ist mit dem SVG-Viewer (http://www.adobe.com/svg/) zu prüfen und für die<br />

Abgabe durch eine Druckausgabe (Screenshot) zu dokumentieren.<br />

Hinweise:<br />

Für die Zerlegung der Flurstücksdatensätze kann folgende Funktion hilfreich sein:<br />

// -----------------------------------------------------------<br />

long next10 (ifstream & BGDaten, string & s10,long &iFrom, long & iTo)<br />

// -----------------------------------------------------------<br />

// NEXT10 positioniert die Zeiger FROM/TO um ein Datenfeld<br />

// weiter. Wird das Ende der Datenzeile (LASTCL) erreicht,<br />

// wird ein weiterer Satz eingelesen und die Zeiger auf das erste<br />

// Datenfeld gesetzt.<br />

// -----------------------------------------------------------<br />

{<br />

string s;<br />

long const lLastColumn = 50;<br />

NEXT_TOKEN:<br />

iFrom = iFrom + 10;<br />

iTo = iTo + 10;<br />

//cout


PGA<br />

Prof. Dr.-Ing. Franz-Josef Behr<br />

FACHHOCHSCHULE<br />

HOCHSCHULE FÜR<br />

STUTTGART<br />

TECHNIK<br />

Vermessung und Geoinformatik<br />

{<br />

cout


PGA<br />

Prof. Dr.-Ing. Franz-Josef Behr<br />

FACHHOCHSCHULE<br />

HOCHSCHULE FÜR<br />

STUTTGART<br />

TECHNIK<br />

Vermessung und Geoinformatik<br />

Flurstücke<br />

Flurstücke werden als flächenförmige Objekte geführt und<br />

über-geben. Für die Geometrie der Flurstücke gilt die<br />

formale Be­ schreibung:<br />

EF flurstücksnummer [R wert1] [H wert2] [D wert3]<br />

punktnummer punktnummer punktnummer [...]<br />

E<br />

rechts G hoch rechts G hoch rechts G hoch<br />

K K K<br />

K+ K+<br />

K- K-<br />

L r<br />

R r<br />

Hierin bedeuten:<br />

- EF = Steuerzeichen für Flurstücke,<br />

- Flurstücksnummer = Flurstücksnummer einschließlich 3stelliger<br />

Unternummer. Die Unternummer darf keine Zuflurstücksnummer sein.<br />

- R, H, D = wahlfreie Steuerzeichen, durch die die<br />

Standardpositionierung der Flurstücksnummer (in der Regel<br />

der Schwerpunkt des Flurstücks) bei der Eingabe im<br />

Rechtswert, Hochwert und im Drehwinkel ersetzt werden kann.<br />

Die Verschiebungsbeträge wert1 und wert2 sind für die<br />

Schriftmitte in mm bezogen auf den Maßstab 1:500 und auf den<br />

zuerst eingegebenen Grenzpunkt, der Betrag wert3 ist in Gon<br />

und bezogen auf die West-Ost-Richtung einzugeben. Als wert3<br />

ist eine ganze Zahl von + 100 bis - 100 zulässig. Drehpunkt<br />

ist die Schriftmitte. Die Drehung ist im Uhrzeigersinn<br />

positiv. Bei der Datenabgabe wird die Positionierung der<br />

Flurstücksnummer immer in nachfolgenden AF-Sätzen<br />

ausgegeben.


PGA<br />

Prof. Dr.-Ing. Franz-Josef Behr<br />

FACHHOCHSCHULE<br />

HOCHSCHULE FÜR<br />

STUTTGART<br />

TECHNIK<br />

Vermessung und Geoinformatik<br />

- Der Grenzzug des Flurstücks wird mit Punktnummern<br />

(punktnummer) oder Koordinaten (rechts hoch) im<br />

Uhrzeigersinn übergeben, wobei der Anfangspunkt am Ende<br />

wiederholt wird. Bei den Koordinaten muss es sich um Gauß-<br />

Krüger-Werte handeln.<br />

Bei kreisförmigen Grenzen wird nach dem Bogenanfang das<br />

Steuerzeichen K+ bzw. K-übergeben, wenn der Kreisbogen links<br />

bzw. rechts von der Sehne liegt, gefolgt von der Nummer des<br />

Kreismittelpunkts; anschließend folgt der Bogenendpunkt.<br />

Sofern der Kreisbogen durch den Radius festgelegt ist, wird<br />

anstelle des Kreismittelpunkts das Datenfeld in der Form Lr<br />

oder Rr (L oder R = Kreismittelpunkt liegt links oder rechts<br />

von der Sehne, r = Radius in cm) übergeben. Bei der Ausgabe<br />

kreisförmiger Grenzen wird immer die Form Lr oder Rr<br />

verwendet.<br />

- punktnummer = Punktnummer.<br />

Punkte des Liegenschaftskatasters: slllllfff<br />

s = Schlüssel des Punktnummerierungsbezirks<br />

(siehe Vordaten),<br />

lllll = maximal 5stellige Leitpunktnummer,<br />

fff = 3stellige Folgepunktnummer.<br />

Trigonometrische Punkte: 4stellige Nummer der<br />

TK25, 3stellige TP-Nummer, 2stellige<br />

Unternummer und die Kennung T<br />

- rechts hoch = Rechts- und Hochwert der nicht nummerierten<br />

Punkte auf Zentimeter getrennt durch das<br />

Koordinatentrennzeichen G oder K (siehe Nr. 1). Bei der<br />

Ausgabe von Flurstücken wird immer K verwendet. Die Qualität<br />

der Grenzpunkte ergibt sich aus der Tabelle der Punktdaten.<br />

Ein Flurstück kann ein oder mehrere andere (innenliegende) Flurstücke<br />

um- schließen: Hierzu wird mittels einer fingierten Grenze die<br />

logische Verbindung zu dem innenliegenden Grenzzug hergestellt; der<br />

innenliegende Grenzzug wird im Gegen-Uhrzeigersinn beschrieben.<br />

Beispiel 1:<br />

EF 22000<br />

000039039 000039038 340403689K544538148 000039037<br />

000039036 000039035 000039034 000039033 000039032<br />

000039031 000039030 000039029 019027035 019027048<br />

340409433K544529691 K- L 1417 340409890K<br />

544529336 K- L 1634 340410530K544529172<br />

K- L 1268 000133009 000133010 000133011<br />

000133012 000133013 000133002 000134013 000133001<br />

000133036 000133035 000133034 000133033 000133032<br />

000133031 000133030 000133029 019027016 019027015<br />

019027021 019027034 019027033 019027032 019027031<br />

019027030 000039045 000039044 000039043 000039042<br />

000039041 000039040 000039039 E


PGA<br />

Prof. Dr.-Ing. Franz-Josef Behr<br />

FACHHOCHSCHULE<br />

HOCHSCHULE FÜR<br />

STUTTGART<br />

TECHNIK<br />

Vermessung und Geoinformatik<br />

Beispiel 2 (einfacher):<br />

EF 40001<br />

000039022 000039005 000039006 000039009 000039010<br />

000039024 000039007 000039022 E

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!