如何解决如何使用Spring Data将原始GeoJson MultiPolygon存储到MongoDB中
我如何轻松地将原始的GeoJson Multipolygon要素转换为org.springframework.data.mongodb.core.geo.GeoJsonMultipolygon,以便可以使用SpringData(mongoTemplate)将其保存到MongoDB中?我需要保留一个多边形的孔。...
GeoJson https://gist.github.com/boundaries-io/978eaa4a10df9467638a5eb9259c84e6
org.geojson.Multipolygon到org.springframework.data.mongodb.core.geo.GeoJsonMultipolygon
当前以下内容有效,我可以将此Multipolygon保存到MongoDb。
org.geojson.Multipolygon multipolygon ....
ObjectMapper mapper = new ObjectMapper();
String writer = new StringWriter();
org.geojson.Feature feature = new org.geojson.Feature();
feature.setGeometry(multipolygon);
mapper.writeValue(writer,feature);
String geoJson = writer.getBuffer().toString();
Document document = Document.parse( g );
Object obj = document.get("geometry");
Place place = new Place();
place.setMultipolygon(obj);
这使我可以对包含孔等的多边形进行GeoSpatial搜索。我觉得这不是最干净的方法。
解决方法
我最终使用的解决方案如下..没有办法从org.geojson.MultiPolygon清楚地创建GeoJsonMultiPolygon。
org.geojson.MultiPolygon multiPolygon = //a complicated MultiPolygon with holes,etc.
ObjectMapper mapper = new ObjectMapper();
String writer = new StringWriter();
org.geojson.Feature feature = new org.geojson.Feature();
feature.setGeometry(multiPolygon);
mapper.writeValue(writer,feature);
String geoJson = writer.getBuffer().toString();
Document document = Document.parse( g );
Object obj = document.get("geometry");
Place place = new Place();
place.setMultiPolygon(obj);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。