Возвращает габариты слоя в системе координат, заданной строковым кодом.
Visual Basic:
Function GetBoundsCRS(sCRS As String, X1 As Double, Y1 As Double, X2 As Double, Y2 As Double) As Long
sCRS - код системы координат, в которой определяются габариты слоя.
X1, Y1 - наименьшие значения координат объектов слоя.
X2, Y2 - наибольшие значения координат объектов слоя.
Если метод выполнен успешно, он вернет 0, а в переменные X1, Y1, X2, Y2 будут записаны координаты углов слоя. В противном случае метод вернет -1, например для неизвестного кода системы координат и для слоя без объектов.
Метод записывает результат по ссылке в переменные типа Double, поэтому в VBScript, в том числе в макросах ZuluGIS на Visual Basic, его применить нельзя: вызов завершается ошибкой «Type mismatch». Там габариты слоя в другой системе координат даёт метод GetBoundsCRSRectangle. В Python метод возвращает кортеж: код результата и четыре координаты.
Python:
import zulu def Macro_Layer_GetBoundsCRS(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active # Габариты слоя в сферическом Меркаторе WGS 84 res, x1, y1, x2, y2 = L.GetBoundsCRS("EPSG:3857") if res == 0: print("X:", x1, "-", x2) print("Y:", y1, "-", y2) else: print("Габариты в EPSG:3857 не получены")