Die Funktion esri_featurelayer_elevatetofield ändert die Z-Koordinaten von Objekten des angegebenen Feature-Layers und aller TEXT-Objekte, die mit diesen Features verknüpft sind.
Die Details der Funktion sind wie folgt:
- Ohne einen Auswahlsatz werden alle Features des Feature-Layers geändert.
- Diese Funktion unterstützt Objekten auf PUNKT-, POLYLINIEN-, POLYGON- und ANNOTATIONS-Feature-Layern.
Syntax
(esri_featurelayer_elevatetofield flname field [elevation_settings])
Argumente
- flname | Zeichenfolge | erforderlich | Ein vorhandener Feature-Layer-Name in der Zeichnung.
- field | Zeichenfolge | erforderlich | Ein numerisches Feature-Attributfeld.
- elevation_settings | Assoziationsliste | Optional | Eine Liste der optionalen Einstellungen in Form von Paarlisten (dotted pairs), um zu ändern, wie Höhenangaben wie nachfolgend beschrieben geändert werden:
Assoziierte Bezeichnung Wertetyp Wertbeschreibung Erforderlich oder optional "ZFACTOR" Double
Multipliziert den Wert FIELD der einzelnen Features mit diesem Betrag, um die Höhe zu bestimmen. Dieses Argument überschreibt FIELDUNITS.
Optional (Standard: 1,0)
"FIELDUNITS" Zeichenfolge
Die Maßeinheit für die Höhe. Gültige Werte sind "Feet", "USFeet" und "Meters" (Groß- und Kleinschreibung wird nicht berücksichtigt).
Optional (ignoriert, wenn ZFACTOR vorhanden ist)
"SELECTIONSET" Auswahlsatz
Ein AutoCAD-Auswahlsatz, um zu begrenzen, welche der Features geändert werden. Wenn kein Wert angegeben wird, werden alle Features des Features-Layers geändert.
Optional (Standard: Alle Features des Feature-Layers)
Beispiel 1 für die Verwendung
Mit diesem Beispiel wird die Höhe aller Features des Feature-Layers Contours basierend auf dem Feature-Attributfeld ELEVATION, in dem die Einheiten in Meter angegeben sind, geändert.(esri_featurelayer_elevatetofield "Contours" "ELEVATION")
Ergebnis des Beispiels 1 für die Verwendung
Mit diesem Beispiel wird die Höhe aller Features des Feature-Layers Contours basierend auf dem Feature-Attributfeld ELEVATION geändert. Es wird eine Liste mit "true" und der Anzahl der geänderten Features zurückgegeben.
(T 49)Beispiel 2 für die Verwendung
Mit diesem Beispiel wird die Höhe eines Auswahlsatzes von Features des Feature-Layers Spot_Elevation geändert. Dabei werden die Höhen im Feld ELEVATION mit einem Maßstabsfaktor multipliziert, um eine Umwandlung von Meter in Fuß zu berücksichtigen.(progn
(setq ss (ssget))
(esri_featurelayer_elevatetofield "Spot_Elevation" "ELEVATION"
(list
(cons "ZFACTOR" 3.28084)
(cons "SELECTIONSET" ss)
)))
Ergebnis des Beispiels 2 für die Verwendung
Mit diesem Beispiel wird die Höhe des ausgewählten Satzes von Höhenkoten-Features basierend auf dem angegebenen Maßstabsfaktor geändert und eine Liste mit "true" zurückgegeben, die die Anzahl der geänderten Features enthält.
(T 20)Rückgabewerte
Folgende Werte sind mögliche Rückgabewerte:
- Gibt bei erfolgreicher Ausführung eine Liste mit "true" und die Anzahl der geänderten Objekte zurück: (T <n>)
- Wenn bei dem Vorgang ein Fehler auftritt, wird eine Liste zurückgegeben, in der der erste Wert nil lautet. Anschließend wird eine Assoziationsliste mit dem Schlüsselwert "Error" sowie eine entsprechende Fehlermeldung in Form einer Zeichenfolge zurückgegeben: (nil ( "Error" . "<message>")).
Rückgabewerte mit Fehlern
Ein Rückgabewert mit einem Fehler kann eine der folgenden Ursachen haben:
- (nil ("Error" . "Cannot calculate unit scale factor from current coordinate system."))
Die Funktion konnte weder die vom Benutzer angegebenen Einheiten noch die Einheiten des Koordinatensystems der Karte auflösen.
- (nil ("Error" . "Missing required argument."))
Mindestens eines der erforderlichen Argumente wurde nicht angegeben.
- (nil ("Error" . "Feature layer not found."))
Der angegebene Feature-Layer wurde in der Zeichnung nicht gefunden.
- (nil ("Error" . "No supported feature layers found."))
Der Layer hat den Geometrietyp MULTIPATCH, der nicht unterstützt wird.
- (nil ("Error" . "Field not found."))
Es wurde kein Feldname gefunden oder ein ungültiger elevation_settings-Wert angegeben.