地理对象
一个地理对象(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 |
如需添加这些类型的属性,可以直接创建新属性,并在列表选择地理数据类型。
一个地理对象的示例 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。
地理坐标
JTS 的 Coordinate
类包含了一对 XY 坐标,用于定义 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
是由线上的一组顶点坐标定义的。这些坐标以特定的顺序保存,以表示线上的连续路径。每组点数据的第一个坐标表示经度,第二个坐标表示纬度。