Android GIS開發系列-- 入門季(8) Json與Geometry的相互轉換


在Android中json數據十分普遍,也很實用,在Arcgis中也同樣支持Json數據,Json與Geometry可以相互轉換,達到我們想要的數據。

一、Geometry轉換成Json數據

這個實現十分簡單,比如我們將一個點轉換為Json,這時也同樣用到GeometryEngine這個強大的類。

Point point = new Point(113, 23); String json = GeometryEngine.geometryToJson(SpatialReference.create(SpatialReference.WKID_WGS84), point); Log.w("TAG", "json===" + json);


打印Log的結果為json==={"x":113.0,"y":23.0,"spatialReference":{"wkid":4326}},是不是很簡單。

二、Json轉換為Geometry

同樣用到GeometryEngine類中的jsonToGeometry方法,我們將上面的json再轉換回去。

  try {
            String jsonStr = "{\"x\":113.0,\"y\":23.0,\"spatialReference\":{\"wkid\":4326}}"; JsonFactory jsonFactory = new JsonFactory(); JsonParser jsonParser = jsonFactory.createJsonParser(jsonStr); MapGeometry mapGeometry = GeometryEngine.jsonToGeometry(jsonParser); Point mPoint = (Point) mapGeometry.getGeometry(); Log.i("TAG","mPoint---"+mPoint.getX()+"==="+mPoint.getY()); } catch (IOException e) { e.printStackTrace(); }
代碼執行結果mPoint---113.0===23.0。注:jsonFactory.createJsonParser這個方法可帶入的參數也是比較多的,比如:file、outputStream、byte數組等等,有興趣的小伙伴可以研究研究。






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM