Геообъекты
Геообъект (сокращение от geospatial object) относится к сущности, имеющей свойство геометрического типа. Дополнение поддерживает следующие гео-специфичные типы из библиотеки JTS Topology Suite (JTS):
Тип данных |
Java-тип |
GeoMultiPoint |
org.locationtech.jts.geom.MultiPoint |
GeoMultiPolygone |
org.locationtech.jts.geom.MultiPolygon |
GeoMultiPolyline |
org.locationtech.jts.geom.MultiLineString |
GeoPoint |
org.locationtech.jts.geom.Point |
GeoPolygon |
org.locationtech.jts.geom.Polygon |
GeoPolyline |
org.locationtech.jts.geom.LineString |
Чтобы добавить свойство, создайте новый атрибут и выберите гео-специфичный тип данных из списка.
Пример геообъекта Location:
@JmixEntity
@Table(name = "LOCATION")
@Entity
public class Location {
@Column(name = "BUILDING", nullable = false)
@NotNull
private Point building;
}
Как видите, Location - это простая сущность, одно из свойств которой (building) имеет тип org.locationtech.jts.geom.Point.
Для привязки геообъектов к векторному слою необходимо использовать DataVectorSource.
Координаты
Класс Coordinate в JTS инкапсулирует пару координат X и Y, определяющих точку в 2D-пространстве.
Геометрические объекты - Point, LineString, Polygon - создаются с использованием заданного Coordinate.
Давайте внимательнее рассмотрим примеры ниже.
-
POINT (13.347796079315284 52.55344847222085)Первая координата X - это долгота. Вторая координата Y - это широта.
-
LINESTRING (13.346886063248354 52.553529790121985, 13.347394863347068 52.5532539371346, 13.347837668453902 52.55355180648286, 13.347860653822895 52.553536712270784)LineStringопределяется последовательностью координат, описывающих вершины вдоль линии. Эти координаты хранятся в определенном порядке для представления непрерывного пути линии. Первая координата X в каждой паре точек представляет долготу, а вторая - широту.