java 将geojson 边界经纬度存入数组
时间: 2023-11-09 15:04:18 浏览: 96
要将GeoJSON边界经纬度存入Java数组,您需要使用一个JSON解析库,比如Jackson或Gson,来解析GeoJSON文件并提取边界坐标。以下是一个使用Jackson库的示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import java.io.File;
import java.io.IOException;
public class GeoJsonParser {
public static void main(String[] args) throws IOException {
// 读入GeoJSON文件
File geoJsonFile = new File("path/to/geojson/file.geojson");
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(geoJsonFile);
// 提取边界坐标
ArrayNode coordinates = (ArrayNode) rootNode
.path("features")
.get(0)
.path("geometry")
.path("coordinates");
// 将坐标存入数组
double[][] boundary = new double[coordinates.size()][2];
for (int i = 0; i < coordinates.size(); i++) {
boundary[i][0] = coordinates.get(i).get(0).asDouble();
boundary[i][1] = coordinates.get(i).get(1).asDouble();
}
// 打印数组
for (int i = 0; i < boundary.length; i++) {
System.out.println("[" + boundary[i][0] + "," + boundary[i][1] + "]");
}
}
}
```
在这个示例中,我们首先使用Jackson库读入GeoJSON文件。然后,我们使用JsonNode对象的path()方法来提取边界坐标。边界坐标存储在一个二维数组中,我们使用for循环将每个坐标存入数组中。最后,我们打印数组中的每个坐标。注意,这个示例假设GeoJSON文件中只有一个Feature,如果有多个Feature,需要在循环中处理每个Feature的边界坐标。
阅读全文