geometry-api-java 学习笔记(二)点 Point

来源:互联网 发布:云米超能滤水壶 知乎 编辑:程序博客网 时间:2024/05/17 02:34

一个点代表了一个位置在空间和其他所有几何类型的构建块。至少一个点包含一个x坐标和y坐标。一个点的坐标可以用英尺和米等单位,也可以用角度或弧度等单位。具体与相关的空间所指定坐标的单位一致即可,对于地理坐标系统,x坐标是经度用y坐标是纬度。

JSON format

一个点可以代表一个json字符串,一个点的json字符串格式包含x、y和  可选的空间参考系,一个点也可能有mz字段。

一个点表示空值,可以用null或者Nan,一个空的点在空间中是没有位置的。

Syntax语法

{ "x": <x>, "y": <y>, "z": <z>, "m": <m>, "spatialReference" : {"wkid" : <wkid>} }

2D point  2D点语法

{ "x": 32462, "y": -57839, "spatialReference" : {"wkid" : 54004} }

3D point with Ms     3D点语法

{ "x": 32462, "y": -57839, "z": 20, "m": 1, "spatialReference" : {"wkid" : 54004} }

Empty point     空点语法

{ "x": null }
{ "x": "NaN" }

用java创建点主要有一下4种方式:

1.Point 类的方法

直接用构造函数创建

static Point createPoint1() {    Point pt = new Point(-106.4453583, 39.11775);    return pt;}

2. 通过引入json字符串

static Point createPointFromJson() throws JsonParseException, IOException {    String jsonString = "{\"x\":-106.4453583,\"y\":39.11775,\"spatialReference\":{\"wkid\":4326}}";    MapGeometry mapGeom = OperatorImportFromJson.local().execute(Geometry.Type.Point, jsonString);    return (Point)mapGeom.getGeometry();}

3.通过GeoJSON

static Point createPointFromGeoJson() throws JsonParseException, IOException {    String geoJsonString = "{\"type\":\"Point\",\"coordinates\":[-106.4453583,39.11775],\"crs\":\"EPSG:4326\"}";    MapGeometry mapGeom = OperatorImportFromGeoJson.local().execute(GeoJsonImportFlags.geoJsonImportDefaults, Geometry.Type.Point, geoJsonString, null);    return (Point)mapGeom.getGeometry();}

4. 通过WKT

We first create the WKT string which represents the point. We then call the executemethod of OperatorImportFromWkt.

static Point createPointFromWKT() throws JsonParseException, IOException {    String wktString = "Point (-106.4453583 39.11775)";    Geometry geom = OperatorImportFromWkt.local().execute(WktImportFlags.wktImportDefaults, Geometry.Type.Point, wktString, null);    return (Point)geom; }

阅读全文
0 0
原创粉丝点击