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

一个点代表了一个位置在空间和其他所有几何类型的构建块。至少一个点包含一个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;
 }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值