不依赖第三方jar包,把数组转成geojson,用java 实现
时间: 2024-02-20 10:00:05 浏览: 69
可以使用Java中的JSONObject和JSONArray来构建GeoJSON。以下是将数组转换为GeoJSON的示例代码:
```java
import org.json.JSONArray;
import org.json.JSONObject;
public class GeoJSONConverter {
public static void main(String[] args) {
double[] coordinates = { 100.0, 0.0, 101.0, 1.0, 102.0, 2.0 };
JSONObject feature = new JSONObject();
feature.put("type", "Feature");
JSONObject geometry = new JSONObject();
geometry.put("type", "LineString");
JSONArray coords = new JSONArray();
for (int i = 0; i < coordinates.length; i += 2) {
JSONArray point = new JSONArray();
point.put(coordinates[i]);
point.put(coordinates[i + 1]);
coords.put(point);
}
geometry.put("coordinates", coords);
feature.put("geometry", geometry);
JSONObject geojson = new JSONObject();
geojson.put("type", "FeatureCollection");
JSONArray features = new JSONArray();
features.put(feature);
geojson.put("features", features);
System.out.println(geojson.toString());
}
}
```
在示例代码中,我们使用JSONObject和JSONArray构建了一个GeoJSON对象,该对象包含一个FeatureCollection和一个Feature,Feature的几何图形为一个LineString。将数组转换为GeoJSON的关键是将其转换为一个包含坐标点的JSONArray。在示例代码中,我们将每个点的坐标存储在一个JSONArray中,并将这些点的数组存储在LineString的coordinates属性中。最后,我们将GeoJSON对象打印出来,可以看到GeoJSON的格式。
阅读全文