| | |
| | | g.AddPoint_2D(cs.getDouble(0), cs.getDouble(1)); |
| | | break; |
| | | case "MultiLineString": |
| | | //g = new Geometry(ogr.wkbMultiLineString); |
| | | Geometry line = new Geometry(ogr.wkbLineString); |
| | | //g.AddGeometry(line); |
| | | cs = cs.getJSONArray(0).getJSONArray(0); |
| | | g = new Geometry(ogr.wkbMultiLineString); |
| | | for (int i = 0, c = cs.size(); i < c; i++) { |
| | | JSONArray arr = cs.getJSONArray(i); |
| | | line.AddPoint_2D(arr.getDouble(0), arr.getDouble(1)); |
| | | Geometry line = new Geometry(ogr.wkbLineString); |
| | | JSONArray lineArr = cs.getJSONArray(i); |
| | | for (int j = 0, d = lineArr.size(); j < d; j++) { |
| | | JSONArray arr = lineArr.getJSONArray(j); |
| | | line.AddPoint_2D(arr.getDouble(0), arr.getDouble(1)); |
| | | } |
| | | g.AddGeometry(line); |
| | | } |
| | | g = line; |
| | | break; |
| | | case "MultiPolygon": |
| | | //g = new Geometry(ogr.wkbMultiPolygon); |
| | | Geometry ring = new Geometry(ogr.wkbLinearRing); |
| | | //g.AddGeometry(line); |
| | | cs = cs.getJSONArray(0).getJSONArray(0); |
| | | g = new Geometry(ogr.wkbMultiPolygon); |
| | | for (int i = 0, c = cs.size(); i < c; i++) { |
| | | JSONArray arr = cs.getJSONArray(i); |
| | | ring.AddPoint_2D(arr.getDouble(0), arr.getDouble(1)); |
| | | Geometry poly = new Geometry(ogr.wkbPolygon); |
| | | JSONArray polyArr = cs.getJSONArray(i); |
| | | for (int j = 0, d = polyArr.size(); j < d; j++) { |
| | | Geometry ring = new Geometry(ogr.wkbLinearRing); |
| | | JSONArray ringArr = polyArr.getJSONArray(j); |
| | | for (int k = 0, e = ringArr.size(); k < e; k++) { |
| | | JSONArray arr = ringArr.getJSONArray(k); |
| | | ring.AddPoint_2D(arr.getDouble(0), arr.getDouble(1)); |
| | | } |
| | | poly.AddGeometry(ring); |
| | | } |
| | | g.AddGeometry(poly); |
| | | } |
| | | g = ring; |
| | | break; |
| | | } |
| | | return g; |