Справка по API
Функции
#
GeoInterface.area
— Method
area(geom) -> Number
Возвращает площадь объекта geom
в его двухмерной системе координат. Обратите внимание, что это допустимо только для AbstractSurfaceTrait
.
#
GeoInterface.asbinary
— Method
asbinary(geom) -> WKB
Преобразовывает geom
в известное двоичное представление (WKB), например 000000000140000000000000004010000000000000
.
#
GeoInterface.astext
— Method
astext(geom) -> WKT
Преобразовывает geom
в известное текстовое представление (WKT), например POINT (30 10)
.
#
GeoInterface.boundary
— Method
boundary(geom) -> Curve
Возвращает границу geom
. Обратите внимание, что это допустимо только для AbstractSurfaceTrait
.
#
GeoInterface.boundingpolygons
— Method
boundingpolygons(geom, i) -> AbstractMultiPolygon
Возвращает коллекцию многоугольников на этой поверхности, которая ограничивает i
-й участок в заданном объекте geom
.
#
GeoInterface.buffer
— Method
buffer(geom, distance) -> AbstractGeometry
Возвращает геометрический объект, который представляет буфер данного объекта geom
с distance
.
#
GeoInterface.centroid
— Method
centroid(geom) -> Point
Математический центр масс данной поверхности в виде точки. Результат необязательно должен находиться на данной поверхности. Обратите внимание, что это допустимо только для AbstractSurfaceTrait
.
#
GeoInterface.convert
— Method
convert(type::CustomGeom, geom)
convert(module::Module, geom)
Создает CustomGeom
на основе любого объекта geom
, реализующего GeoInterface.
Может также преобразовываться в Module
, который находит соответствующий тип geom для признака с использованием метода модулей geointerface_traittype
.
#
GeoInterface.convexhull
— Method
convexhull(geom) -> AbstractCurve
Возвращает геометрический объект, который представляет выпуклую оболочку данного объекта geom
.
#
GeoInterface.coordinates
— Method
coordinates(geom) -> Vector
Возвращает координаты точек (их итератор). Обеспечивает обратную совместимость с GeoInterface версии 0.
#
GeoInterface.coordnames
— Method
coordnames(geom) -> Tuple{Symbol}
Возвращает измерения координат (например, (:X,:Y,:Z)) для системы координат.
#
GeoInterface.crosses
— Method
crosses(a, b) -> Bool
Возвращает значение, указывающее, пересекаются ли a
и b
.
#
GeoInterface.crs
— Method
crs(geom) -> T <: GeoFormatTypes.CoordinateReferenceSystemFormat
Возвращает эталонную систему координат для данного объекта geom. В SF она определена как SRID
.
#
GeoInterface.difference
— Method
difference(a, b) -> AbstractGeometry
Возвращает геометрический объект, который представляет разность множеств точек a
и b
.
#
GeoInterface.disjoint
— Method
disjoint(a, b) -> Bool
Возвращает значение, указывающее, являются ли a
и b
несмежными. Функция, обратная функции intersects
.
#
GeoInterface.distance
— Method
distance(a, b) -> Number
Возвращает кратчайшее расстояние между a
и b
.
#
GeoInterface.endpoint
— Method
endpoint(geom) -> Point
Возвращает последнюю точку в geom
. Обратите внимание, что это допустимо только для AbstractCurveTrait
.
#
GeoInterface.extent
— Method
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
— Method
GeoInterface.geometry(feat) => geom
Возвращает геометрический объект для feat
. Ожидается, что isgeometry(geom) === true
. Обеспечивает обратную совместимость с GeoInterface версии 0.
#
GeoInterface.geometrycolumns
— Method
GeoInterface.geometrycolumns(featurecollection) => (:geometry,)
Возвращает объекты geometrycolumn из featurecollection
, то есть поля (или столбцы таблицы), которые содержат геометрические объекты, поддерживающие GeoInterface.
#
GeoInterface.geomtrait
— Method
GeoInterface.geomtrait(geom) => T <: AbstractGeometry
Возвращает тип геометрического объекта, например PolygonTrait
или PointTrait
.
#
GeoInterface.getcoord
— Method
getcoord(geom, i) -> Number
Возвращает i
-ю координату для данного объекта geom
. Координата имеет тип Real
. Обратите внимание, что это допустимо только для отдельных объектов AbstractPointTrait
.
#
GeoInterface.getcoord
— Method
getcoord(geom) -> iterator
#
GeoInterface.getexterior
— Method
getexterior(geom) -> Curve
Возвращает внешнее кольцо многоугольника в виде AbstractCurve
. Обратите внимание, что это допустимо только для AbstractPolygonTrait
.
#
GeoInterface.getfeature
— Method
GeoInterface.getfeature(collection) => [feature, ...]
Возвращает признаки из collection
в виде некоторого итерируемого объекта признаков. Ожидается, что isfeature(feature) === true
.
#
GeoInterface.getgeom
— Method
getgeom(geom, i::Integer) -> AbstractGeometry
Возвращает i
-й геометрический объект для данного объекта geom
.
#
GeoInterface.getgeom
— Method
getgeom(geom) -> iterator
Возвращает итератор по всем геометрическим компонентам в geom
.
#
GeoInterface.gethole
— Method
gethole(geom, i::Integer) -> Curve
Возвращает i
-е внешнее кольцо для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPolygonTrait
.
#
GeoInterface.gethole
— Method
gethole(geom) -> iterator
Возвращает итератор по всем пустотам в geom
. Обратите внимание, что это допустимо только для AbstractPolygonTrait
.
#
GeoInterface.getlinestring
— Method
getlinestring(geom, i::Integer) -> AbstractCurve
Возвращает i
-ю ломаную линию для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractMultiLineStringTrait
.
#
GeoInterface.getlinestring
— Method
getlinestring(geom) -> iterator
Возвращает итератор по всем ломаным линиям в геометрическом объекте. Обратите внимание, что это допустимо только для AbstractMultiLineStringTrait
.
#
GeoInterface.getpatch
— Method
getpatch(geom, i::Integer) -> AbstractPolygon
Возвращает i
-й участок для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPolyhedralSurfaceTrait
.
#
GeoInterface.getpatch
— Method
getpatch(geom) -> iterator
Возвращает итератор по всем участкам в geom
. Обратите внимание, что это допустимо только для AbstractPolyhedralSurfaceTrait
.
#
GeoInterface.getpoint
— Method
getpoint(geom, i::Integer) -> Point
Возвращает i
-ю точку в данном объекте geom
. Обратите внимание, что это допустимо только для AbstractCurveTrait
и AbstractMultiPointTrait
.
#
GeoInterface.getpoint
— Method
getpoint(geom) -> iterator
Возвращает итератор по всем точкам в geom
.
#
GeoInterface.getpolygon
— Method
getpolygon(geom, i::Integer) -> AbstractCurve
Возвращает i
-й многоугольник для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractMultiPolygonTrait
.
#
GeoInterface.getpolygon
— Method
getpolygon(geom) -> iterator
Возвращает итератор по всем многоугольникам в геометрическом объекте. Обратите внимание, что это допустимо только для AbstractMultiPolygonTrait
.
#
GeoInterface.getring
— Method
getring(geom, i::Integer) -> AbstractCurve
Определенное кольцо i
в многоугольнике или мультимногоугольнике (внешняя часть и отверстия). Обратите внимание, что это допустимо только для AbstractPolygonTrait
и AbstractMultiPolygonTrait
.
#
GeoInterface.getring
— Method
getring(geom) -> iterator
Возвращает итератор по всем кольцам в geom
. Обратите внимание, что это допустимо только для AbstractPolygonTrait
и AbstractMultiPolygonTrait
в форме с одним аргументом.
#
GeoInterface.intersection
— Method
intersection(a, b) -> AbstractGeometry
Возвращает геометрический объект, который представляет пересечение множеств точек a
и b
.
#
GeoInterface.is3d
— Method
is3d(geom) -> Bool
Возвращает значение, указывающее, есть ли у данного объекта geom
координата :Z.
#
GeoInterface.isclosed
— Method
isclosed(geom) -> Bool
Возвращает значение, указывающее, является ли объект geom
замкнутым, то есть совпадает ли startpoint
с endpoint
. Обратите внимание, что это допустимо только для AbstractCurveTrait
.
#
GeoInterface.isempty
— Method
isempty(geom) -> Bool
Возвращает значение true
, если геометрический объект пуст.
#
GeoInterface.isfeature
— Method
GeoInterface.isfeature(x) => Bool
Проверяет, является ли объект x
признаком и потому неявным образом поддерживает некоторые методы GeoInterface. Признак — это сочетание геометрического объекта и свойств, напоминающее строку в таблице. Рекомендуется, чтобы пользователи, реализующие MyType
, определяли только isfeature(::Type{MyType})
. В этом случае isfeature(::MyType)
будет автоматически делегироваться в этот метод.
Обеспечивает обратную совместимость с GeoInterface версии 0.
#
GeoInterface.isfeaturecollection
— Method
GeoInterface.isfeaturecollection(x) => Bool
Проверяет, является ли объект x
коллекцией признаков и потому неявным образом поддерживает некоторые методы GeoInterface. Коллекция признаков может также содержать метаданные для всей коллекции, например Extent
.
Рекомендуется, чтобы пользователи, реализующие MyType
, определяли только isfeaturecollection(::Type{MyType})
. В этом случае isfeaturecollection(::MyType)
будет автоматически делегироваться в этот метод.
#
GeoInterface.isgeometry
— Method
GeoInterface.isgeometry(x) => Bool
Проверяет, является ли объект x
геометрическим объектом и потому неявным образом поддерживает методы GeoInterface. Рекомендуется, чтобы пользователи, реализующие MyType
, определяли только isgeometry(::Type{MyType})
. В этом случае isgeometry(::MyType)
будет автоматически делегироваться в этот метод.
#
GeoInterface.ismeasured
— Method
ismeasured(geom) -> Bool
Возвращает значение, указывающее, есть ли у данного объекта geom
координата :M.
#
GeoInterface.isring
— Method
isring(geom) -> Bool
Возвращает значение, указывающее, является ли объект geom
кольцом, то есть является ли geom
isclosed
и issimple
. Обратите внимание, что это допустимо только для AbstractCurveTrait
.
#
GeoInterface.issimple
— Method
issimple(geom) -> Bool
Возвращает значение true
, если геометрический объект простой, то есть не пересекает и не касается самого себя.
#
GeoInterface.length
— Method
length(geom) -> Number
Возвращает длину объекта geom
в его двухмерной системе координат. Обратите внимание, что это допустимо только для AbstractCurveTrait
.
#
GeoInterface.m
— Method
m(geom) -> Number
Возвращает координату :M (измеренную) для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPointTrait
.
Для точек, представляющих собой Tuple
или Vector
длиной 4, возвращается четвертое значение.
Точки в виде Tuple
или Vector
длиной 3 не могут представлять измеренные точки, поэтому для них выдается ошибка ArgumentError
.
#
GeoInterface.ncoord
— Method
ncoord(geom) -> Integer
Возвращает количество измерений координат (например, 3 для X, Y, Z) для геометрического объекта. Обратите внимание, что в SF различаются измерения, пространственные измерения и топологические измерения, что неверно в нашем случае.
#
GeoInterface.nfeature
— Method
GeoInterface.nfeature(collection)
Возвращает количество признаков в коллекции признаков.
#
GeoInterface.ngeom
— Method
ngeom(geom) -> Integer
Возвращает количество геометрических объектов для данного объекта geom
.
#
GeoInterface.nhole
— Method
nhole(geom) -> Integer
Возвращает количество отверстий для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPolygonTrait
.
#
GeoInterface.nlinestring
— Method
nlinestring(geom) -> Integer
Возвращает количество кривых для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractMultiLineStringTrait
.
#
GeoInterface.npatch
— Method
npatch(geom)
Возвращает количество участков для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPolyhedralSurfaceTrait
.
#
GeoInterface.npoint
— Method
npoint(geom) -> Int
Возвращает количество точек в данном объекте geom
. Обратите внимание, что это допустимо только для AbstractCurveTrait
и AbstractMultiPointTrait
.
#
GeoInterface.npolygon
— Method
npolygon(geom) -> Integer
Возвращает количество многоугольников для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractMultiPolygonTrait
.
#
GeoInterface.nring
— Method
nring(geom) -> Integer
Возвращает количество колец в данном объекте geom
. Обратите внимание, что это допустимо только для AbstractPolygonTrait
и AbstractMultiPolygonTrait
.
#
GeoInterface.overlaps
— Method
overlaps(a, b) -> Bool
Возвращает значение, указывающее, перекрываются ли a
и b
. В DE-9IM также называется covers
.
#
GeoInterface.pointonsurface
— Method
pointonsurface(geom) -> Point
Точка, гарантированно принадлежащая данному геометрическому объекту (в отличие от centroid
). Обратите внимание, что это допустимо только для AbstractSurfaceTrait
.
#
GeoInterface.properties
— Method
GeoInterface.properties(feat) => properties
Возвращает свойства feat
. Это может быть любой итерируемый объект, который ведет себя как AbstractRow. Обеспечивает обратную совместимость с GeoInterface версии 0.
#
GeoInterface.relate
— Method
relate(a, b, relationmatrix::String) -> Bool
Возвращает значение, указывающее, связаны ли a
и b
, на основе предоставленной матрицы связей.
#
GeoInterface.startpoint
— Method
startpoint(geom) -> Point
Возвращает первую точку в geom
. Обратите внимание, что это допустимо только для AbstractCurveTrait
.
#
GeoInterface.subtrait
— Method
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.symdifference
— Method
symdifference(a, b) -> AbstractGeometry
Возвращает геометрический объект, который представляет симметрическую разность множеств точек a
и b
.
#
GeoInterface.testfeature
— Method
testfeature(feature)
Проверяет, правильно ли реализован требуемый интерфейс для feature
.
#
GeoInterface.testfeaturecollection
— Method
testfeaturecollection(featurecollection)
Проверяет, правильно ли реализован требуемый интерфейс для featurecollection
.
#
GeoInterface.testgeometry
— Method
testgeometry(geom)
Проверяет, правильно ли реализован требуемый интерфейс для geom
.
#
GeoInterface.touches
— Method
touches(a, b) -> Bool
Возвращает значение, указывающее, касаются ли a
и b
.
#
GeoInterface.trait
— Method
GeoInterface.trait(geom) => T <: AbstractGeometry
Возвращает тип объекта, например FeatureTrait
. Для всех объектов isgeometry
trait
совпадает с geomtrait(obj)
, например PointTrait
.
#
GeoInterface.union
— Method
union(a, b) -> AbstractGeometry
Возвращает геометрический объект, который представляет объединение множеств точек a
и b
.
#
GeoInterface.x
— Method
x(geom) -> Number
Возвращает координату :X для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPointTrait
.
Для точек типа Tuple
или Vector
возвращается первое значение.
#
GeoInterface.y
— Method
y(geom) -> Number
Возвращает координату :Y для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPointTrait
.
Для точек типа Tuple
или Vector
возвращается второе значение.
#
GeoInterface.z
— Method
z(geom) -> Number
Возвращает координату :Z для данного объекта geom
. Обратите внимание, что это допустимо только для AbstractPointTrait
.
Для точек, представляющих собой Tuple
или Vector
длиной 3, возвращается третье значение.
Типы
#
GeoInterface.AbstractCurvePolygonTrait
— Type
Тип AbstractCurvePolygonTrait для всех криволинейных многоугольников.
#
GeoInterface.AbstractCurveTrait
— Type
Тип AbstractCurveTrait для всех кривых.
#
GeoInterface.AbstractFeatureCollectionTrait
— Type
Тип AbstractFeatureCollectionTrait для всех коллекций признаков.
#
GeoInterface.AbstractFeatureTrait
— Type
Тип AbstractFeatureTrait для всех признаков.
#
GeoInterface.AbstractGeometryCollectionTrait
— Type
Тип AbstractGeometryCollectionTrait для всех коллекций геометрических объектов.
#
GeoInterface.AbstractGeometryTrait
— Type
Тип AbstractGeometryTrait для всех геометрических объектов.
#
GeoInterface.AbstractLineStringTrait
— Type
Тип AbstractLineString для всех ломаных линий.
#
GeoInterface.AbstractMultiCurveTrait
— Type
Тип AbstractMultiCurveTrait для всех мультикривых.
#
GeoInterface.AbstractMultiLineStringTrait
— Type
Тип AbstractMultiLineStringTrait для всех множественных ломаных линий.
#
GeoInterface.AbstractMultiPointTrait
— Type
Тип AbstractMultiPointTrait для всех мультиточек.
#
GeoInterface.AbstractMultiPolygonTrait
— Type
Тип AbstractMultiPolygonTrait для всех мультимногоугольников.
#
GeoInterface.AbstractMultiSurfaceTrait
— Type
Тип AbstractMultiSurfaceTrait для всех мультиповерхностей.
#
GeoInterface.AbstractPointTrait
— Type
Тип AbstractPointTrait для всех точек.
#
GeoInterface.AbstractPolygonTrait
— Type
Тип AbstractPolygonTrait для всех многоугольников.
#
GeoInterface.AbstractPolyhedralSurfaceTrait
— Type
Тип AbstractPolyhedralSurfaceTrait для всех многогранных поверхностей.
#
GeoInterface.AbstractSurfaceTrait
— Type
Тип AbstractSurfaceTrait для всех поверхностей.
#
GeoInterface.AbstractTrait
— Type
Тип AbstractTrait для всех геометрических объектов, признаков и коллекций признаков.
#
GeoInterface.CircularStringTrait
— Type
CircularStringTrait — это кривая с нечетным количеством точек. Отдельный отрезок состоит из трех точек, первая и последняя из которых — это начало и конец, а вторая — середина кривой.
#
GeoInterface.CompoundCurveTrait
— Type
CompoundCurveTrait — это кривая, которая представляет собой сочетание прямых объектов LineStringTrait
и кривых объектов CircularStringTrait
.
#
GeoInterface.CurvePolygonTrait
— Type
Объект AbstractCurvePolygonTrait
, который может содержать окружности или прямые кривые в качестве колец.
#
GeoInterface.FeatureCollectionTrait
— Type
FeatureCollectionTrait содержит объекты FeatureTrait
и extent
.
#
GeoInterface.FeatureTrait
— Type
FeatureTrait содержит geometries
, properties
и extent
.
#
GeoInterface.GeometryCollectionTrait
— Type
GeometryCollection — это коллекция объектов Geometry
.
#
GeoInterface.HexagonTrait
— Type
PolygonTrait
с шестью вершинами.
#
GeoInterface.LineStringTrait
— Type
LineStringTrait — это коллекция прямых линий между объектами PointTrait
.
#
GeoInterface.LineTrait
— Type
LineTrait — это объект LineStringTrait
всего с двумя точками.
#
GeoInterface.LinearRingTrait
— Type
LinearRingTrait — это объект LineStringTrait
с совпадающими начальной и конечной точками.
#
GeoInterface.MultiCurveTrait
— Type
MultiCurveTrait — это коллекция объектов CircularStringTrait
.
#
GeoInterface.MultiLineStringTrait
— Type
MultiLineStringTrait — это коллекция объектов LineStringTrait
.
#
GeoInterface.MultiPointTrait
— Type
MultiPointTrait — это коллекция объектов PointTrait
.
#
GeoInterface.MultiPolygonTrait
— Type
MultiPolygonTrait — это коллекция объектов PolygonTrait
.
#
GeoInterface.MultiSurfaceTrait
— Type
MultiSurfaceTrait — это коллекция объектов AbstractSurfaceTrait
.
#
GeoInterface.PentagonTrait
— Type
PolygonTrait
с пятью вершинами.
#
GeoInterface.PointTrait
— Type
Отдельная точка.
#
GeoInterface.PolygonTrait
— Type
AbstractSurfaceTrait
с прямыми кольцами снаружи или внутри.
#
GeoInterface.PolyhedralSurfaceTrait
— Type
PolyhedralSurfaceTrait — это связная поверхность, состоящая из объектов PolygonTrait
.
#
GeoInterface.QuadTrait
— Type
PolygonTrait
с четырьмя вершинами.
#
GeoInterface.RectangleTrait
— Type
Объект PolygonTrait
, который имеет прямоугольную форму и может описываться минимальной и максимальной вершинами.
#
GeoInterface.TINTrait
— Type
TINTrait — это объект PolyhedralSurfaceTrait
, состоящий из объектов TriangleTrait
.
#
GeoInterface.TriangleTrait
— Type
PolygonTrait
треугольной формы.