地理对象

一个地理对象(geo-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

如需添加这些类型的属性,可以直接创建新属性,并在列表选择地理数据类型。

new geo attr

一个地理对象的示例 Location

@JmixEntity
@Table(name = "LOCATION")
@Entity
public class Location {
    @Column(name = "BUILDING", nullable = false)
    @NotNull
    private Point building;
}

可以看到,Location 只是一个简单的实体,其中一个属性 buildingorg.locationtech.jts.geom.Point 类型。

如需绑定地理对象至地图的矢量层,需要使用 DataVectorSource

地理坐标

JTS 的 Coordinate 类包含了一对 XY 坐标,用于定义 2D 空间的一个点。

PointLineStringPolygon 这些几何图形都是通过给定 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 是由线上的一组顶点坐标定义的。这些坐标以特定的顺序保存,以表示线上的连续路径。每组点数据的第一个坐标表示经度,第二个坐标表示纬度。