将Geometry转换为GeoJSON时,Geotools GeometryJSON舍入坐标

时间:2013-11-08 12:48:22

标签: geojson geotools

这里有任何Geotools开发者吗?我们发现了GeometryJSON的以下奇怪行为:

    Geometry geom = getGeometry();
    System.out.println(geom);

    GeometryJSON g = new GeometryJSON();
    StringWriter sw = new StringWriter();
    try {
        g.write(geom, sw);
    } catch (IOException e) {
        e.printStackTrace();
    }
    System.out.println(sw.toString());

输出:

POLYGON((1.1212121214354352354235235423521 2.1212121121,4.454545454545445 3.454544545454454,10.515545445454 20.1545454654664, 1.1212121214354352354235235423521 2.1212121121))

{"type":"Polygon","coordinates":[[[1.1212,2.1212],[4.4545,3.4545],[10.5155,20.1545],[1.1212,2.1212]]]}

多边形坐标是圆角的。这是为了吗?

1 个答案:

答案 0 :(得分:7)

GeometryJSON有一个构造函数,您可以传递小数位数。

public GeometryJSON(int decimals)

您正在使用的构造函数将其实例化为4位小数。将您的代码更改为:

GeometryJSON g = new GeometryJSON(15);