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

來源:互聯網
上載者:User

標籤:ack   nts   try   sso   out   參數   exception   comm   process   

在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數組等等,有興趣的小夥伴可以研究研究。





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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.