GetBoundsCRS method (Layer)

Возвращает габариты слоя в системе координат, заданной строковым кодом.

Применяется к:

Layer

Синтаксис:

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 не получены")