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.
Funktionsdetails:
- Ohne einen Auswahlsatz werden alle Features des Feature-Layers geändert.
- Diese Funktion unterstützt Objekten von POINT-, POLYLINE-, POLYGON- und ANNOTATION-Feature-Layern.
Syntax
(esri_featurelayer_elevatetofield flname field [elevation_settings])
Argumente
Liste der Argumente für die Funktion:
- 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 geändert werden.
Assoziierte Bezeichnung Wertetyp Wertbeschreibung Erforderlich oder optional "FIELDUNITS" Zeichenfolge
"Feet", "USFeet" oder "Meters" (Groß-/Kleinschreibung wird nicht beachtet).
Optional (Standardwert "Meters")
"ZFACTOR" Double
Multipliziert den Wert FIELD der einzelnen Features mit diesem Betrag, um die Höhe zu bestimmen. Setzt FIELDUNITS außer Kraft.
Optional (Standard: 1,0)
"SELECTIONSET" Auswahlsatz
AutoCAD-Auswahlsatz, um zu begrenzen, welche der Features geändert werden. Wird er nicht angegeben, werden alle Features des Feature-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 geändert. Dabei sind die Einheiten der Werte Meter.(esri_featurelayer_elevatetofield "Contours" "ELEVATION")
Ergebnis des Beispiels 1 für die Verwendung
Ändert die Höhe aller Features des Feature-Layers Contours basierend auf den Werten des Attributfeldes ELEVATION und gibt eine Liste mit "true" zurück, die die Anzahl der geänderten Features enthält.
(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
Ändert die Höhe des ausgewählten Satzes von Höhenkoten-Features basierend auf dem angegebenen Maßstabsfaktor und gibt eine Liste mit "true" zurück, die die Anzahl der geänderten Features enthält. :
(T 20)
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" . "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."))
elevation_settings fehlt, der Feldname wurde nicht gefunden oder ist ungültig.