首页 / 浏览问题 / 移动GIS / 问题详情
移动端如何解析multipolygon数据。数据比较复杂,解析直接报错
6EXP 2025年04月17日
移动端如何解析复杂multipolygon数据,现在解析失败.

原始数据如下:

{
    "type": "GeometryCollection",
    "geometries": [{
        "type": "Polygon",
        "coordinates": [
            [
                [107.36923081380209, 22.133219303385417],
                [107.36923833333334, 22.133221666666667],
                [107.36925833333335, 22.133221666666667],
                [107.36923, 22.133225],
                [107.36923081380209, 22.133219303385417]
            ]
        ]
    }, {
        "type": "LineString",
        "coordinates": [
            [107.36925333333332, 22.13317833333333],
            [107.36925333333332, 22.133176666666667]
        ]
    }, {
        "type": "Polygon",
        "coordinates": [
            [
                [107.36909833333333, 22.132904999999997],
                [107.36912166666667, 22.132943333333333],
                [107.36912333333333, 22.13296666666667],
                [107.36913833333334, 22.13301666666667],
                [107.36914833333334, 22.133036666666666],
                [107.369175, 22.133076666666664],
                [107.36918666666666, 22.13309333333333],
                [107.36921499999998, 22.133128333333335],
                [107.36923333333334, 22.133141666666667],
                [107.36925333333332, 22.13316166666667],
                [107.36925333333332, 22.133176666666667],
                [107.36923999999999, 22.13316166666667],
                [107.36923666666668, 22.13317833333333],
                [107.36923081380209, 22.133219303385417],
                [107.36917999999999, 22.133203333333334],
                [107.36915499999999, 22.133203333333334],
                [107.369105, 22.133221666666667],
                [107.36908166666666, 22.13323666666667],
                [107.36903166666667, 22.133241666666663],
                [107.36900499999999, 22.133235],
                [107.36897833333333, 22.133203333333334],
                [107.36896833333334, 22.13319333333333],
                [107.36894166666667, 22.133155000000002],
                [107.36892833333334, 22.13308833333333],
                [107.36892666666667, 22.133065000000002],
                [107.36891499999999, 22.13301666666667],
                [107.36891499999999, 22.132993333333335],
                [107.36891499999999, 22.132951666666667],
                [107.36892000000002, 22.132931666666664],
                [107.36896166666665, 22.13293],
                [107.36898500000001, 22.13293],
                [107.36902833333333, 22.132934999999996],
                [107.36904833333334, 22.132925],
                [107.36908166666666, 22.13291],
                [107.36909833333333, 22.132904999999997]
            ]
        ]
    }]
}

移动端现有解析数据:

var geoRegion = GeoRegion()
var isRecor = geoRegion.fromGeoJSON(it.geom)

1个回答

您好,我看您的json数据属于几何对象集合的方式,不能通过geoRegion的构造方法直接构造几何对象。您那边可以先解析json数据,将点、线、面区分,然后使用Toolkit.GeoJSONToGeometry()方法将其转换为几何对象Geometry。
9,297EXP 2025年04月18日
好的,我们这边试一下

老师 我这边看文档 好像没找到这个方法。

解析json数据的话,就正常解析应该就可以吧

帮助文档没有更新,您直接在代码里面去写就行
老师  这边可以解析数据,但是好像渲染不到地图上面去,这块我们应该怎么处理一下呢
这个是添加的代码

val map = HashMap<String, Any?>()
map.put("id_number", "1111");
 var isRecors = recordset.addNew(Toolkit.GeoJsonToGeometry(s1), map);
 editor.update()
map.refresh();
 recordset.dispose()
您好,请问一下Geometry是否已经可以正常解析到,然后recordset.addNew也能正常添加,最后确定下目前地图中是否有recordset对应的数据集图层呢
Geometry正常解析返回的是true。添加也是正常的成功的,地图上面也绑定了对应的数据集图层了
你添加后打印一下recordset的个数呢,看是否有添加。你可以单独重新添加一下这个数据集图层测试一下。如果还是有问题可以加一下我qq:2889751134
好的 我们这边试一下
...