Ich habe eine Frage, die eher die umgekehrte Variante des diskutierten Themas unter http://www.anuva.de/service_arcforum.php?action=vthread&forum=2&topic= 2921 verfolgt.
Ich habe ein Linienshape und moechte mehrere Punkte entlang dieser Linie plazieren. Diese Punkte haben unterschiedliche Abstaende.
Alternativ wuerde eine eine "Zerstueckelung" der Linie an diesen Punkt ausreichen. Dies wuerde der Funktion Split im Editor von ArcMap entsprechen. Ich moechte die Linie jeodch nicht einzeln segmentieren.
Ich habe eine Tabelle vorliegen, die exakt die Stationen wiedergeben, an der enweder der jeweilige Punkt gesetzt oder die Linie geschnitten werden soll.
Ich waere fuer einen Rat dankbar, da er mir viel Arbeit sparen wuerde.
Ich habe ein Linienshape und moechte mehrere Punkte entlang dieser Linie plazieren. Diese Punkte haben unterschiedliche Abstaende.
Alternativ wuerde eine eine "Zerstueckelung" der Linie an diesen Punkt ausreichen. Dies wuerde der Funktion Split im Editor von ArcMap entsprechen. Ich moechte die Linie jeodch nicht einzeln segmentieren.
Ich habe eine Tabelle vorliegen, die exakt die Stationen wiedergeben, an der enweder der jeweilige Punkt gesetzt oder die Linie geschnitten werden soll.
Ich waere fuer einen Rat dankbar, da er mir viel Arbeit sparen wuerde.
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Mo., 08.01.2007 - 18:52
PermalinkGespeichert von Novosibirsk am Mo., 08.01.2007 - 19:50
PermalinkWenn Du eine Idee mit ArcView 3.X hast, dann ist diese auch herzlich wilkommen.
Ich finde eine Reihe an Scripten, wo eine gleichmaessige Verteilung moeglich ist. Ich wundere mich aber, dass ich dazu noch nichts gefunden habe. Ich bin doch bestimmte nicht der Erste, der so eine Funktion braucht.
Gespeichert von Novosibirsk am Mo., 08.01.2007 - 20:54
PermalinkDaraus koennte ich die Distanz der Punkte entlang der Linie beispielsweise errechnen.
Gespeichert von Maxilla am Di., 09.01.2007 - 08:50
PermalinkGespeichert von Novosibirsk am Di., 09.01.2007 - 14:57
PermalinkIch habe eine ASCII Datei, wo eine Reihe an Informationen gespeichert sind. Ich habe ein Fortran Programm gebastelt, die nur bestimmte Werte aus dieser Datei liesst und in eine neue Datei schreibt, damit ich diese spaeter in GIS einladen kann. Allerdings ist noch eine Schwachstelle in dem Programm, die ich aendern moechte.
Kennt sich hier jemand mit Fortran aus oder kennt ein gutes Forum? Gerne auch in English.
Gespeichert von Novosibirsk am Mi., 10.01.2007 - 12:30
PermalinkWenn noch irgendjemand eine Idee hat, wie eine Linie in Abhaengigkeit von Abstaenden segmentieren kann bzw. Punkte an der Linie setzen kann, dann bitte ich das hier zu posten.
Gespeichert von Maxilla am Mi., 10.01.2007 - 14:28
PermalinkDas Skript im oben von dir verlinkten Thread lässt sich relativ einfach anpassen (siehe unten). Es ist nur 'ne Skizze und daher nicht besonders nutzerfreundlich - du musst deine Abstände selber in die thePList eintragen. Außerdem werden nur Grafikpunkte gezeichnet, die du nachträglich selektieren und per Copy/Paste in ein Shapefile überführen musst. Nun ja, 's gibt schlimmeres :|
'Malt Punkte in definierten Abständen auf eine Linie
'Sprache: Avenue (ArcView 3.x)
'Gruß von Mx. ;)
theView = av.GetActiveDoc
' *** Namen anpassen:
theLThm = theView.FindTheme("Linie.shp") 'Linienthema
theLVTab = theLThm.GetFTab
theLShpFld = theLVTab.FindField("Shape")
' *** Nimmt nur die erste Linie im Linienthema:
theL = theLVTab.ReturnValue(theLShpFld,0)
theLLength = theL.ReturnLength
' *** Eigene Distanzen eintragen:
thePList = {1,100,200,500,1000,2156,9000}
for each dis in thePList
thePerc = 100/theLLength*dis
thePnt = theL.Along(thePerc)
thePointGR = GraphicShape.Make(thePnt)
theView.GetGraphics.Add(thePointGR)
end