首頁 / 浏覽問題 / 移動GIS / 問題詳情
移動端如何解析multipolygon數據。數據比較複雜,解析直接報錯
6EXP 2025年04月17日
移動端如何解析複雜multipolygon數據,現在(zài)解析失敗.

原始數據如下:

{
    "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個(gè)回答

您好,我看您的(de)json數據屬于(yú)幾何對象集合的(de)方式,不(bù)能通過geoRegion的(de)構造方法直接構造幾何對象。您那邊可以(yǐ)先解析json數據,将點、線、面區分,然後使用Toolkit.GeoJSONToGeometry()方法将其轉換爲(wéi / wèi)幾何對象Geometry。
9,302EXP 2025年04月18日
好的(de),我們這(zhè)邊試一(yī / yì /yí)下

老師 我這(zhè)邊看文檔 好像沒找到(dào)這(zhè)個(gè)方法。

解析json數據的(de)話,就(jiù)正常解析應該就(jiù)可以(yǐ)吧

幫助文檔沒有更新,您直接在(zài)代碼裏面去寫就(jiù)行
老師  這(zhè)邊可以(yǐ)解析數據,但是(shì)好像渲染不(bù)到(dào)地(dì / de)圖上(shàng)面去,這(zhè)塊我們應該怎麽處理一(yī / yì /yí)下呢
這(zhè)個(gè)是(shì)添加的(de)代碼

val map = HashMap<String, Any?>()
map.put("id_number", "1111");
 var isRecors = recordset.addNew(Toolkit.GeoJsonToGeometry(s1), map);
 editor.update()
map.refresh();
 recordset.dispose()
您好,請問一(yī / yì /yí)下Geometry是(shì)否已經可以(yǐ)正常解析到(dào),然後recordset.addNew也(yě)能正常添加,最後确定下目前地(dì / de)圖中是(shì)否有recordset對應的(de)數據集圖層呢
Geometry正常解析返回的(de)是(shì)true。添加也(yě)是(shì)正常的(de)成功的(de),地(dì / de)圖上(shàng)面也(yě)綁定了(le/liǎo)對應的(de)數據集圖層了(le/liǎo)
你添加後打印一(yī / yì /yí)下recordset的(de)個(gè)數呢,看是(shì)否有添加。你可以(yǐ)單獨重新添加一(yī / yì /yí)下這(zhè)個(gè)數據集圖層測試一(yī / yì /yí)下。如果還是(shì)有問題可以(yǐ)加一(yī / yì /yí)下我qq:2889751134
好的(de) 我們這(zhè)邊試一(yī / yì /yí)下
...