如何通过java在mongoDB集合中插入GeoJson对象作为原型$geometry
目前,我正在使用java制作mongoDB数据库,我一直在收集中插入地理位置。我的导师告诉我使用GeoJSON对象作为$geometry原型插入地理位置。我的意思是,我想插入数据,如下所示-如何通过java在mongoDB集合中插入GeoJson对象作为原型$geometry,java,mongodb,mongodb-java,mongodb-3.3,Java,Mongodb,Mongodb Java,Mongodb 3.3,目前,我正在使用java制作mongoDB数据库,我一直在收集中插入地理位置。我的导师告诉我使用GeoJSON对象作为$geometry原型插入地理位置。我的意思是,我想插入数据,如下所示- $geometry: { type: "Polygon", coordinates: [ <coordinates> ], crs: { type: "name", properties: { name: "urn:x-mongodb:crs:stric
$geometry: {
type: "Polygon",
coordinates: [ <coordinates> ],
crs: {
type: "name",
properties: { name: "urn:x-mongodb:crs:strictwinding:EPSG:4326" }
}
}
$geometry:{
键入:“多边形”,
座标:[],
crs:{
键入:“名称”,
属性:{name:“urn:x-mongodb:crs:strictwinding:EPSG:4326”}
}
}
我做到了-
double lat_lng_values[] = {144.6682361, -37.8978304};
List<BasicDBObject> loc = new ArrayList();
BasicDBObject obj = new BasicDBObject();
obj.put("location",lat_lng_values);
PInfo.insert(obj); //(Here Pinfo is DBCollection Object)
double lat_lng_值[]={144.6682361,-37.8978304};
List loc=new ArrayList();
BasicDBObject对象=新的BasicDBObject();
obj.put(“位置”,lat_lng_值);
插销(obj)//(这里Pinfo是DBCollection对象)
所以请帮助我如何使用$geometry原型。
先谢谢你。对不起,我说的是英语。您的原型没有传达给GeoJson标准,您应该遵循以下模式:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
因此,如果您有任何属性,如“crs”,它应该包含在GeoJson模式的属性部分中。关于在mangoDB中插入GeoJson文档,我不是这方面的专家,但您可以使用类似的东西:
Mongo mongo = new Mongo('your paramaters');
DB db = mongo.getDB("yourdb");
DBCollection collection = db.getCollection("dummyColl");
String json = "{
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [125.6, 10.1]
},
'properties': {
'name': 'Dinagat Islands'
}
}";
DBObject dbObject = (DBObject)JSON.parse(json);
collection.insert(dbObject);
它在代码的第6行给出了双引号错误。所以编辑你的答案:)。但在调试双引号错误后,它工作正常。谢谢你,兄弟。