Документация Engee

Справка по API

Функции

area(geom) -> Number

Возвращает площадь объекта geom в его двухмерной системе координат. Обратите внимание, что это допустимо только для AbstractSurfaceTrait.

asbinary(geom) -> WKB

Преобразовывает geom в известное двоичное представление (WKB), например 000000000140000000000000004010000000000000.

astext(geom) -> WKT

Преобразовывает geom в известное текстовое представление (WKT), например POINT (30 10).

bbox(geom) -> T <: Extents.Extent

Псевдоним для extent, предназначенный для совместимости с GeoJSON и геоинтерфейсом Python. Обеспечивает обратную совместимость с GeoInterface версии 0.

boundary(geom) -> Curve

Возвращает границу geom. Обратите внимание, что это допустимо только для AbstractSurfaceTrait.

boundingpolygons(geom, i) -> AbstractMultiPolygon

Возвращает коллекцию многоугольников на этой поверхности, которая ограничивает i-й участок в заданном объекте geom.

buffer(geom, distance) -> AbstractGeometry

Возвращает геометрический объект, который представляет буфер данного объекта geom с distance.

centroid(geom) -> Point

Математический центр масс данной поверхности в виде точки. Результат необязательно должен находиться на данной поверхности. Обратите внимание, что это допустимо только для AbstractSurfaceTrait.

contains(a, b) -> Bool

Возвращает значение, указывающее, содержится ли b в a. Порядок аргументов имеет значение. Эквивалентно within с обратным порядком аргументов.

convert(type::CustomGeom, geom)
convert(module::Module, geom)

Создает CustomGeom на основе любого объекта geom, реализующего GeoInterface.

Может также преобразовываться в Module, который находит соответствующий тип geom для признака с использованием метода модулей geointerface_traittype.

convexhull(geom) -> AbstractCurve

Возвращает геометрический объект, который представляет выпуклую оболочку данного объекта geom.

coordinates(geom) -> Vector

Возвращает координаты точек (их итератор). Обеспечивает обратную совместимость с GeoInterface версии 0.

coordnames(geom) -> Tuple{Symbol}

Возвращает измерения координат (например, (:X,:Y,:Z)) для системы координат.

crosses(a, b) -> Bool

Возвращает значение, указывающее, пересекаются ли a и b.

crs(geom) -> T <: GeoFormatTypes.CoordinateReferenceSystemFormat

Возвращает эталонную систему координат для данного объекта geom. В SF она определена как SRID.

difference(a, b) -> AbstractGeometry

Возвращает геометрический объект, который представляет разность множеств точек a и b.

disjoint(a, b) -> Bool

Возвращает значение, указывающее, являются ли a и b несмежными. Функция, обратная функции intersects.

distance(a, b) -> Number

Возвращает кратчайшее расстояние между a и b.

endpoint(geom) -> Point

Возвращает последнюю точку в geom. Обратите внимание, что это допустимо только для AbstractCurveTrait.

equals(a, b) -> Bool

Возвращает значение, указывающее, равны ли a и b. Эквивалентно (within && contains).

extent(obj; fallback=true) -> T <: Extents.Extent

Возвращает область (ограничивающую рамку) для данного объекта geom или признака. В SF она определена как envelope.

Extents.extent(obj) вызывается, если результат extent(trait(obj), obj) не определен, поэтому может быть предпочтительнее определить Extents.extent напрямую.

Если fallback имеет значение true и у obj нет области, область вычисляется по координатам всех геометрических объектов в obj.

GeoInterface.geometry(feat) => geom

Возвращает геометрический объект для feat. Ожидается, что isgeometry(geom) === true. Обеспечивает обратную совместимость с GeoInterface версии 0.

GeoInterface.geometrycolumns(featurecollection) => (:geometry,)

Возвращает объекты geometrycolumn из featurecollection, то есть поля (или столбцы таблицы), которые содержат геометрические объекты, поддерживающие GeoInterface.

GeoInterface.geomtrait(geom) => T <: AbstractGeometry

Возвращает тип геометрического объекта, например PolygonTrait или PointTrait.

getcoord(geom, i) -> Number

Возвращает i-ю координату для данного объекта geom. Координата имеет тип Real. Обратите внимание, что это допустимо только для отдельных объектов AbstractPointTrait.

getcoord(geom) -> iterator
getexterior(geom) -> Curve

Возвращает внешнее кольцо многоугольника в виде AbstractCurve. Обратите внимание, что это допустимо только для AbstractPolygonTrait.

GeoInterface.getfeature(collection) => [feature, ...]

Возвращает признаки из collection в виде некоторого итерируемого объекта признаков. Ожидается, что isfeature(feature) === true.

getgeom(geom, i::Integer) -> AbstractGeometry

Возвращает i-й геометрический объект для данного объекта geom.

getgeom(geom) -> iterator

Возвращает итератор по всем геометрическим компонентам в geom.

gethole(geom, i::Integer) -> Curve

Возвращает i-е внешнее кольцо для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPolygonTrait.

gethole(geom) -> iterator

Возвращает итератор по всем пустотам в geom. Обратите внимание, что это допустимо только для AbstractPolygonTrait.

getlinestring(geom, i::Integer) -> AbstractCurve

Возвращает i-ю ломаную линию для данного объекта geom. Обратите внимание, что это допустимо только для AbstractMultiLineStringTrait.

getlinestring(geom) -> iterator

Возвращает итератор по всем ломаным линиям в геометрическом объекте. Обратите внимание, что это допустимо только для AbstractMultiLineStringTrait.

getpatch(geom, i::Integer) -> AbstractPolygon

Возвращает i-й участок для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPolyhedralSurfaceTrait.

getpatch(geom) -> iterator

Возвращает итератор по всем участкам в geom. Обратите внимание, что это допустимо только для AbstractPolyhedralSurfaceTrait.

getpoint(geom, i::Integer) -> Point

Возвращает i-ю точку в данном объекте geom. Обратите внимание, что это допустимо только для AbstractCurveTrait и AbstractMultiPointTrait.

getpoint(geom) -> iterator

Возвращает итератор по всем точкам в geom.

getpolygon(geom, i::Integer) -> AbstractCurve

Возвращает i-й многоугольник для данного объекта geom. Обратите внимание, что это допустимо только для AbstractMultiPolygonTrait.

getpolygon(geom) -> iterator

Возвращает итератор по всем многоугольникам в геометрическом объекте. Обратите внимание, что это допустимо только для AbstractMultiPolygonTrait.

getring(geom, i::Integer) -> AbstractCurve

Определенное кольцо i в многоугольнике или мультимногоугольнике (внешняя часть и отверстия). Обратите внимание, что это допустимо только для AbstractPolygonTrait и AbstractMultiPolygonTrait.

getring(geom) -> iterator

Возвращает итератор по всем кольцам в geom. Обратите внимание, что это допустимо только для AbstractPolygonTrait и AbstractMultiPolygonTrait в форме с одним аргументом.

intersection(a, b) -> AbstractGeometry

Возвращает геометрический объект, который представляет пересечение множеств точек a и b.

intersects(a, b) -> Bool

Возвращает значение, указывающее, пересекаются ли a и b. Функция, обратная функции disjoint.

is3d(geom) -> Bool

Возвращает значение, указывающее, есть ли у данного объекта geom координата :Z.

isclosed(geom) -> Bool

Возвращает значение, указывающее, является ли объект geom замкнутым, то есть совпадает ли startpoint с endpoint. Обратите внимание, что это допустимо только для AbstractCurveTrait.

isempty(geom) -> Bool

Возвращает значение true, если геометрический объект пуст.

GeoInterface.isfeature(x) => Bool

Проверяет, является ли объект x признаком и потому неявным образом поддерживает некоторые методы GeoInterface. Признак — это сочетание геометрического объекта и свойств, напоминающее строку в таблице. Рекомендуется, чтобы пользователи, реализующие MyType, определяли только isfeature(::Type{MyType}). В этом случае isfeature(::MyType) будет автоматически делегироваться в этот метод.

Обеспечивает обратную совместимость с GeoInterface версии 0.

GeoInterface.isfeaturecollection(x) => Bool

Проверяет, является ли объект x коллекцией признаков и потому неявным образом поддерживает некоторые методы GeoInterface. Коллекция признаков может также содержать метаданные для всей коллекции, например Extent.

Рекомендуется, чтобы пользователи, реализующие MyType, определяли только isfeaturecollection(::Type{MyType}). В этом случае isfeaturecollection(::MyType) будет автоматически делегироваться в этот метод.

GeoInterface.isgeometry(x) => Bool

Проверяет, является ли объект x геометрическим объектом и потому неявным образом поддерживает методы GeoInterface. Рекомендуется, чтобы пользователи, реализующие MyType, определяли только isgeometry(::Type{MyType}). В этом случае isgeometry(::MyType) будет автоматически делегироваться в этот метод.

ismeasured(geom) -> Bool

Возвращает значение, указывающее, есть ли у данного объекта geom координата :M.

isring(geom) -> Bool

Возвращает значение, указывающее, является ли объект geom кольцом, то есть является ли geom isclosed и issimple. Обратите внимание, что это допустимо только для AbstractCurveTrait.

issimple(geom) -> Bool

Возвращает значение true, если геометрический объект простой, то есть не пересекает и не касается самого себя.

length(geom) -> Number

Возвращает длину объекта geom в его двухмерной системе координат. Обратите внимание, что это допустимо только для AbstractCurveTrait.

m(geom) -> Number

Возвращает координату :M (измеренную) для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPointTrait.

Для точек, представляющих собой Tuple или Vector длиной 4, возвращается четвертое значение.

Точки в виде Tuple или Vector длиной 3 не могут представлять измеренные точки, поэтому для них выдается ошибка ArgumentError.

ncoord(geom) -> Integer

Возвращает количество измерений координат (например, 3 для X, Y, Z) для геометрического объекта. Обратите внимание, что в SF различаются измерения, пространственные измерения и топологические измерения, что неверно в нашем случае.

GeoInterface.nfeature(collection)

Возвращает количество признаков в коллекции признаков.

ngeom(geom) -> Integer

Возвращает количество геометрических объектов для данного объекта geom.

nhole(geom) -> Integer

Возвращает количество отверстий для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPolygonTrait.

nlinestring(geom) -> Integer

Возвращает количество кривых для данного объекта geom. Обратите внимание, что это допустимо только для AbstractMultiLineStringTrait.

npatch(geom)

Возвращает количество участков для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPolyhedralSurfaceTrait.

npoint(geom) -> Int

Возвращает количество точек в данном объекте geom. Обратите внимание, что это допустимо только для AbstractCurveTrait и AbstractMultiPointTrait.

npolygon(geom) -> Integer

Возвращает количество многоугольников для данного объекта geom. Обратите внимание, что это допустимо только для AbstractMultiPolygonTrait.

nring(geom) -> Integer

Возвращает количество колец в данном объекте geom. Обратите внимание, что это допустимо только для AbstractPolygonTrait и AbstractMultiPolygonTrait.

overlaps(a, b) -> Bool

Возвращает значение, указывающее, перекрываются ли a и b. В DE-9IM также называется covers.

pointonsurface(geom) -> Point

Точка, гарантированно принадлежащая данному геометрическому объекту (в отличие от centroid). Обратите внимание, что это допустимо только для AbstractSurfaceTrait.

GeoInterface.properties(feat) => properties

Возвращает свойства feat. Это может быть любой итерируемый объект, который ведет себя как AbstractRow. Обеспечивает обратную совместимость с GeoInterface версии 0.

relate(a, b, relationmatrix::String) -> Bool

Возвращает значение, указывающее, связаны ли a и b, на основе предоставленной матрицы связей.

startpoint(geom) -> Point

Возвращает первую точку в geom. Обратите внимание, что это допустимо только для AbstractCurveTrait.

subtrait(t::AbstractGeometryTrait)

Возвращает ожидаемые (возможно, абстрактные) (вложенные) признаки для вложенных геометрических объектов (возвращаемых функцией getgeom) t. Соответствует иерархии типов в спецификации Simple Features.

Примеры

julia> GeoInterface.subtrait(LineStringTrait())
AbstractPointTrait
julia> GeoInterface.subtrait(PolygonTrait())  # LineStringTrait, LineTrait или LinearRingTrait
AbstractLineStringTrait
# Если вложенного признака нет или он неизвестен заранее, возвращается `nothing`
julia> isnothing(GeoInterface.subtrait(PointTrait()))
true
julia> isnothing(GeoInterface.subtrait(GeometryCollectionTrait()))
true
symdifference(a, b) -> AbstractGeometry

Возвращает геометрический объект, который представляет симметрическую разность множеств точек a и b.

testfeature(feature)

Проверяет, правильно ли реализован требуемый интерфейс для feature.

testfeaturecollection(featurecollection)

Проверяет, правильно ли реализован требуемый интерфейс для featurecollection.

testgeometry(geom)

Проверяет, правильно ли реализован требуемый интерфейс для geom.

touches(a, b) -> Bool

Возвращает значение, указывающее, касаются ли a и b.

GeoInterface.trait(geom) => T <: AbstractGeometry

Возвращает тип объекта, например FeatureTrait. Для всех объектов isgeometry trait совпадает с geomtrait(obj), например PointTrait.

union(a, b) -> AbstractGeometry

Возвращает геометрический объект, который представляет объединение множеств точек a и b.

within(a, b) -> Bool

Возвращает значение, указывающее, находится ли a внутри b. Порядок аргументов имеет значение. Эквивалентно contains с обратным порядком аргументов.

x(geom) -> Number

Возвращает координату :X для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPointTrait.

Для точек типа Tuple или Vector возвращается первое значение.

y(geom) -> Number

Возвращает координату :Y для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPointTrait.

Для точек типа Tuple или Vector возвращается второе значение.

z(geom) -> Number

Возвращает координату :Z для данного объекта geom. Обратите внимание, что это допустимо только для AbstractPointTrait.

Для точек, представляющих собой Tuple или Vector длиной 3, возвращается третье значение.

Типы

Тип AbstractCurvePolygonTrait для всех криволинейных многоугольников.

Тип AbstractCurveTrait для всех кривых.

Тип AbstractFeatureCollectionTrait для всех коллекций признаков.

Тип AbstractFeatureTrait для всех признаков.

Тип AbstractGeometryCollectionTrait для всех коллекций геометрических объектов.

Тип AbstractGeometryTrait для всех геометрических объектов.

Тип AbstractLineString для всех ломаных линий.

Тип AbstractMultiCurveTrait для всех мультикривых.

Тип AbstractMultiLineStringTrait для всех множественных ломаных линий.

Тип AbstractMultiPointTrait для всех мультиточек.

Тип AbstractMultiPolygonTrait для всех мультимногоугольников.

Тип AbstractMultiSurfaceTrait для всех мультиповерхностей.

Тип AbstractPointTrait для всех точек.

Тип AbstractPolygonTrait для всех многоугольников.

Тип AbstractPolyhedralSurfaceTrait для всех многогранных поверхностей.

Тип AbstractSurfaceTrait для всех поверхностей.

Тип AbstractTrait для всех геометрических объектов, признаков и коллекций признаков.

CircularStringTrait — это кривая с нечетным количеством точек. Отдельный отрезок состоит из трех точек, первая и последняя из которых — это начало и конец, а вторая — середина кривой.

CompoundCurveTrait — это кривая, которая представляет собой сочетание прямых объектов LineStringTrait и кривых объектов CircularStringTrait.

Объект AbstractCurvePolygonTrait, который может содержать окружности или прямые кривые в качестве колец.

FeatureCollectionTrait содержит объекты FeatureTrait и extent.

FeatureTrait содержит geometries, properties и extent.

GeometryCollection — это коллекция объектов Geometry.

PolygonTrait с шестью вершинами.

LineStringTrait — это коллекция прямых линий между объектами PointTrait.

LineTrait — это объект LineStringTrait всего с двумя точками.

LinearRingTrait — это объект LineStringTrait с совпадающими начальной и конечной точками.

MultiCurveTrait — это коллекция объектов CircularStringTrait.

MultiLineStringTrait — это коллекция объектов LineStringTrait.

MultiPointTrait — это коллекция объектов PointTrait.

MultiPolygonTrait — это коллекция объектов PolygonTrait.

MultiSurfaceTrait — это коллекция объектов AbstractSurfaceTrait.

PolygonTrait с пятью вершинами.

Отдельная точка.

AbstractSurfaceTrait с прямыми кольцами снаружи или внутри.

PolyhedralSurfaceTrait — это связная поверхность, состоящая из объектов PolygonTrait.

PolygonTrait с четырьмя вершинами.

Объект PolygonTrait, который имеет прямоугольную форму и может описываться минимальной и максимальной вершинами.

TINTrait — это объект PolyhedralSurfaceTrait, состоящий из объектов TriangleTrait.

PolygonTrait треугольной формы.

Указатель