【发布时间】:2020-01-13 18:13:17
【问题描述】:
我有一个带有 GIS Geometry 的 Java POJO“任务”,我正在尝试将其转换为具有特征的 GeoJSON。
我用来进行转换的库是jts2geojson
我的测试用例代码是这样的,当我尝试将它传递给阅读器时,错误出现在 String geoJson 上。
GeometryFactory gf = new GeometryFactory();
Double y = -36.829;
Double x = 174.896;
Task testTask = new Task();
testTask.setId(new Long(01));
testTask.setTitle("Test Task");
Point p = gf.createPoint(new Coordinate(x, y));
p.setSRID(4326);
testTask.setLocation(p);
taskRepository.save(testTask);
ObjectMapper objectMapper = new ObjectMapper();
String geoJson = objectMapper.writeValueAsString(testTask); // geojson is a String
GeoJSONReader reader = new GeoJSONReader();
org.wololo.geojson.Geometry geometry = reader.read(geoJson); // type error
// create and serialize a FeatureCollection
List<Feature> features = new ArrayList<Feature>();
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("Size", 5);
properties.put("Area", "Auckland");
features.add(new Feature(geoJson, properties));
GeoJSONWriter writer = new GeoJSONWriter();
GeoJson json = writer.write(features);
问题是 org.wololo.geojson.Geometry geometry = reader.read(geoJson); 行上的类型错误
即使reader.read 方法采用 GeoJSON 字符串,它也不接受字符串。
我也试过传入一个JTS点p:
GeoJSONReader reader = new GeoJSONReader();
org.wololo.geojson.Geometry geometry = reader.read(p);
但这也会导致 IDE 出错:
【问题讨论】: