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

Справка по API

Функции

# GeoInterface.areaMethod

area(geom) -> Number

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

# GeoInterface.asbinaryMethod

asbinary(geom) -> WKB

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

# GeoInterface.astextMethod

astext(geom) -> WKT

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

# GeoInterface.bboxMethod

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

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

# GeoInterface.boundaryMethod

boundary(geom) -> Curve

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

# GeoInterface.boundingpolygonsMethod

boundingpolygons(geom, i) -> AbstractMultiPolygon

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

# GeoInterface.bufferMethod

buffer(geom, distance) -> AbstractGeometry

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

# GeoInterface.centroidMethod

centroid(geom) -> Point

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

# GeoInterface.containsMethod

contains(a, b) -> Bool

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

# GeoInterface.convertMethod

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

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

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

# GeoInterface.convexhullMethod

convexhull(geom) -> AbstractCurve

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

# GeoInterface.coordinatesMethod

coordinates(geom) -> Vector

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

# GeoInterface.coordnamesMethod

coordnames(geom) -> Tuple{Symbol}

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

# GeoInterface.crossesMethod

crosses(a, b) -> Bool

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

# GeoInterface.crsMethod

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

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

# GeoInterface.differenceMethod

difference(a, b) -> AbstractGeometry

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

# GeoInterface.disjointMethod

disjoint(a, b) -> Bool

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

# GeoInterface.distanceMethod

distance(a, b) -> Number

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

# GeoInterface.endpointMethod

endpoint(geom) -> Point

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

# GeoInterface.equalsMethod

equals(a, b) -> Bool

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

# GeoInterface.extentMethod

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

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

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

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

# GeoInterface.geometryMethod

GeoInterface.geometry(feat) => geom

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

# GeoInterface.geometrycolumnsMethod

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

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

# GeoInterface.geomtraitMethod

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

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

# GeoInterface.getcoordMethod

getcoord(geom, i) -> Number

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

# GeoInterface.getcoordMethod

getcoord(geom) -> iterator

# GeoInterface.getexteriorMethod

getexterior(geom) -> Curve

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

# GeoInterface.getfeatureMethod

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

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

# GeoInterface.getgeomMethod

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

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

# GeoInterface.getgeomMethod

getgeom(geom) -> iterator

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

# GeoInterface.getholeMethod

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

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

# GeoInterface.getholeMethod

gethole(geom) -> iterator

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

# GeoInterface.getlinestringMethod

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

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

# GeoInterface.getlinestringMethod

getlinestring(geom) -> iterator

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

# GeoInterface.getpatchMethod

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

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

# GeoInterface.getpatchMethod

getpatch(geom) -> iterator

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

# GeoInterface.getpointMethod

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

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

# GeoInterface.getpointMethod

getpoint(geom) -> iterator

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

# GeoInterface.getpolygonMethod

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

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

# GeoInterface.getpolygonMethod

getpolygon(geom) -> iterator

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

# GeoInterface.getringMethod

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

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

# GeoInterface.getringMethod

getring(geom) -> iterator

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

# GeoInterface.intersectionMethod

intersection(a, b) -> AbstractGeometry

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

# GeoInterface.intersectsMethod

intersects(a, b) -> Bool

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

# GeoInterface.is3dMethod

is3d(geom) -> Bool

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

# GeoInterface.isclosedMethod

isclosed(geom) -> Bool

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

# GeoInterface.isemptyMethod

isempty(geom) -> Bool

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

# GeoInterface.isfeatureMethod

GeoInterface.isfeature(x) => Bool

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

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

# GeoInterface.isfeaturecollectionMethod

GeoInterface.isfeaturecollection(x) => Bool

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

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

# GeoInterface.isgeometryMethod

GeoInterface.isgeometry(x) => Bool

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

# GeoInterface.ismeasuredMethod

ismeasured(geom) -> Bool

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

# GeoInterface.isringMethod

isring(geom) -> Bool

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

# GeoInterface.issimpleMethod

issimple(geom) -> Bool

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

# GeoInterface.lengthMethod

length(geom) -> Number

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

# GeoInterface.mMethod

m(geom) -> Number

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

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

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

# GeoInterface.ncoordMethod

ncoord(geom) -> Integer

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

# GeoInterface.nfeatureMethod

GeoInterface.nfeature(collection)

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

# GeoInterface.ngeomMethod

ngeom(geom) -> Integer

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

# GeoInterface.nholeMethod

nhole(geom) -> Integer

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

# GeoInterface.nlinestringMethod

nlinestring(geom) -> Integer

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

# GeoInterface.npatchMethod

npatch(geom)

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

# GeoInterface.npointMethod

npoint(geom) -> Int

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

# GeoInterface.npolygonMethod

npolygon(geom) -> Integer

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

# GeoInterface.nringMethod

nring(geom) -> Integer

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

# GeoInterface.overlapsMethod

overlaps(a, b) -> Bool

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

# GeoInterface.pointonsurfaceMethod

pointonsurface(geom) -> Point

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

# GeoInterface.propertiesMethod

GeoInterface.properties(feat) => properties

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

# GeoInterface.relateMethod

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

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

# GeoInterface.startpointMethod

startpoint(geom) -> Point

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

# GeoInterface.subtraitMethod

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

# GeoInterface.symdifferenceMethod

symdifference(a, b) -> AbstractGeometry

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

# GeoInterface.testfeatureMethod

testfeature(feature)

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

# GeoInterface.testfeaturecollectionMethod

testfeaturecollection(featurecollection)

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

# GeoInterface.testgeometryMethod

testgeometry(geom)

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

# GeoInterface.touchesMethod

touches(a, b) -> Bool

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

# GeoInterface.traitMethod

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

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

# GeoInterface.unionMethod

union(a, b) -> AbstractGeometry

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

# GeoInterface.withinMethod

within(a, b) -> Bool

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

# GeoInterface.xMethod

x(geom) -> Number

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

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

# GeoInterface.yMethod

y(geom) -> Number

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

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

# GeoInterface.zMethod

z(geom) -> Number

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

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

Типы

# GeoInterface.AbstractCurvePolygonTraitType

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

# GeoInterface.AbstractCurveTraitType

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

# GeoInterface.AbstractFeatureCollectionTraitType

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

# GeoInterface.AbstractFeatureTraitType

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

# GeoInterface.AbstractGeometryCollectionTraitType

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

# GeoInterface.AbstractGeometryTraitType

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

# GeoInterface.AbstractLineStringTraitType

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

# GeoInterface.AbstractMultiCurveTraitType

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

# GeoInterface.AbstractMultiLineStringTraitType

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

# GeoInterface.AbstractMultiPointTraitType

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

# GeoInterface.AbstractMultiPolygonTraitType

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

# GeoInterface.AbstractMultiSurfaceTraitType

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

# GeoInterface.AbstractPointTraitType

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

# GeoInterface.AbstractPolygonTraitType

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

# GeoInterface.AbstractPolyhedralSurfaceTraitType

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

# GeoInterface.AbstractSurfaceTraitType

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

# GeoInterface.AbstractTraitType

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

# GeoInterface.CircularStringTraitType

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

# GeoInterface.CompoundCurveTraitType

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

# GeoInterface.CurvePolygonTraitType

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

# GeoInterface.FeatureCollectionTraitType

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

# GeoInterface.FeatureTraitType

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

# GeoInterface.GeometryCollectionTraitType

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

# GeoInterface.HexagonTraitType

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

# GeoInterface.LineStringTraitType

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

# GeoInterface.LineTraitType

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

# GeoInterface.LinearRingTraitType

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

# GeoInterface.MultiCurveTraitType

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

# GeoInterface.MultiLineStringTraitType

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

# GeoInterface.MultiPointTraitType

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

# GeoInterface.MultiPolygonTraitType

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

# GeoInterface.MultiSurfaceTraitType

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

# GeoInterface.PentagonTraitType

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

# GeoInterface.PointTraitType

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

# GeoInterface.PolygonTraitType

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

# GeoInterface.PolyhedralSurfaceTraitType

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

# GeoInterface.QuadTraitType

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

# GeoInterface.RectangleTraitType

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

# GeoInterface.TINTraitType

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

# GeoInterface.TriangleTraitType

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

Указатель