Java 使用功能将jts转换为GeoJSON时出现类型错误
我有一个Java POJO“任务”和GIS几何,我正试图转换为GeoJSON的功能 我用来进行转换的库是 我的测试用例代码是这样的,当我试图将它传递给阅读器时,错误出现在字符串geoJson上Java 使用功能将jts转换为GeoJSON时出现类型错误,java,gis,geojson,Java,Gis,Geojson,我有一个Java POJO“任务”和GIS几何,我正试图转换为GeoJSON的功能 我用来进行转换的库是 我的测试用例代码是这样的,当我试图将它传递给阅读器时,错误出现在字符串geoJson上 GeometryFactory gf = new GeometryFactory(); Double y = -36.829; Double x = 174.896; Task testTask = new Task(); testTask.setId(new L
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);
但这也会导致IDE中出现错误:
我的读者和作者方法是错误的。作者从jts.geometry转到wololo.geometry
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);
System.out.println(geoJson);
GeoJSONWriter writer = new GeoJSONWriter();
org.wololo.geojson.Geometry geom = writer.write(p);
// 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(geom, properties));
GeoJSONWriter writer1 = new GeoJSONWriter();
FeatureCollection json = writer1.write(features);
GeometryFactory gf=新的GeometryFactory();
双y=-36.829;
双x=174.896;
Task testTask=新任务();
setId(newlong(01));
setTitle(“测试任务”);
点p=gf.createPoint(新坐标(x,y));
p、 setSRID(4326);
testTask.setLocation(p);
taskRepository.save(testTask);
ObjectMapper ObjectMapper=新的ObjectMapper();
字符串geoJson=objectMapper.writeValueAsString(testTask);
System.out.println(geoJson);
GeoJSONWriter=新的GeoJSONWriter();
org.wololo.geojson.Geometry geom=writer.write(p);
//创建并序列化FeatureCollection
列表功能=新建ArrayList();
映射属性=新的HashMap();
属性。放置(“大小”,5);
出售(“区域”、“奥克兰”);
添加(新功能(几何、属性));
GeoJSONWriter writer1=新的GeoJSONWriter();
FeatureCollection json=writer1.write(功能);
writer方法将我的点p转换为org.wololo.geojson.geometry对象,然后我可以将该对象添加到Features或FeaturesCollection
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);
System.out.println(geoJson);
GeoJSONWriter writer = new GeoJSONWriter();
org.wololo.geojson.Geometry geom = writer.write(p);
// 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(geom, properties));
GeoJSONWriter writer1 = new GeoJSONWriter();
FeatureCollection json = writer1.write(features);