Hallöchen,
kann mir jemand sagen, wie ich die x und y-koordinaten aus einem grid auslesen kann? Bzw. ob die schon in einer der zahlreichen Dateien stehen, die es bei der griderstellung anlegt.
Danke.
Jette
kann mir jemand sagen, wie ich die x und y-koordinaten aus einem grid auslesen kann? Bzw. ob die schon in einer der zahlreichen Dateien stehen, die es bei der griderstellung anlegt.
Danke.
Jette
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Mo., 11.07.2005 - 10:00
Permalinkam Einfachsten vielleicht mit einem kurzen Skript, das dir ein Punktshape erstellt. Das Beispiel unten rechnet dir neben X und Y auch noch den Grid-Code (Z) in die Tabelle - das ist der Value des Grids:
' Grid to PointTheme Basic (ohne Fehlercheck)
' Vor Ausführung View mit aktivem Grid-Thema aktivieren
theView = av.GetActiveDoc
thePrj = theView.GetProjection
theProjFlag = thePrj.IsNull.Not
theGthm = theView.GetActiveThemes.Get(0)
theGrid = theGthm.GetGrid
thePtNam = FileName.GetCWD.MakeTmp("gridpt","shp")
thePtName = FileDialog.Put(thePtNam, "*.shp", "Save Point Theme")
if (thePtName = NIL) then return NIL end
thePtName.SetExtension("shp")
thePtFTab = theGrid.AsPointFTab(thePtName,thePrj)
thePtFTab.SetEditable(TRUE)
thePtThm = FTheme.Make(thePtFTab)
theView.AddTheme(thePtThm)
theX = Field.Make ("X_Coord",#FIELD_DECIMAL,18,6)
thePtFTab.AddFields({theX})
theY = Field.Make ("Y_Coord",#FIELD_DECIMAL,18,6)
thePtFTab.AddFields({theY})
if (theProjFlag) then
'Projection defined
thePtFTab.Calculate("[Shape].ReturnProjected(thePrj).GetX", theX)
thePtFTab.Calculate("[Shape].ReturnProjected(thePrj).GetY", theY)
else
'No projection defined
thePtFTab.Calculate("[Shape].GetX", theX)
thePtFTab.Calculate("[Shape].GetY", theY)
end
thePtFTab.SetEditable(FALSE)