首页 > 编程语言 >java mongo 插入geometry 多边形 线 点

java mongo 插入geometry 多边形 线 点

时间:2023-07-18 20:55:06浏览次数:45  
标签:java mongo Position geometry positions new import document id

import com.mongodb.client.MongoCollection;
import com.mongodb.client.model.geojson.LineString;
import com.mongodb.client.model.geojson.Point;
import com.mongodb.client.model.geojson.Polygon;
import com.mongodb.client.model.geojson.Position;
import com.tusvn.ccinfra.api.data.storage.MongoUtilsForV2x;
import dgtn.sren.cmm.config.bus.MongoCfg;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.bson.types.ObjectId;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

import java.util.ArrayList;
import java.util.List;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring-context.xml"})
@WebAppConfiguration
@Slf4j
public class MongoGisTest {

 

@Test
public void mongoPolygonTest()throws Exception{
MongoCollection<Document> collection = null;//todo
// 创建Polygon对象
List<Position> positions = new ArrayList<>();
positions.add(new Position(40.7128, -74.0060));
positions.add(new Position(40.7128, -73.9352));
positions.add(new Position(40.6828, -73.9352));
positions.add(new Position(40.6828, -74.0060));
positions.add(new Position(40.7128, -74.0060));
Polygon polygon = new Polygon(positions);

// 创建文档并插入Polygon对象
Document document = new Document("name", "Polygon")
.append("area", polygon);
collection.insertOne(document);

// 打印插入的文档ID
ObjectId id = (ObjectId) document.get("_id");
System.out.println("Inserted document with ID: " + id);

mongoPointTest();
}

@Test
public void mongoPointTest(){
MongoCollection<Document> collection = null;//todo
// 创建Point对象
Position position = new Position(40.7128, -74.0060);
Point point = new Point(position);

// 创建文档并插入Point对象
Document document = new Document("name", "New York")
.append("location", point);
collection.insertOne(document);

// 打印插入的文档ID
ObjectId id = (ObjectId) document.get("_id");
System.out.println("Inserted document with ID: " + id);
}

@Test
public void mongoInsertLine()throws Exception{
MongoCollection<Document> collection = null;//todo
// 创建LineString对象
List<Position> positions = new ArrayList<>();
positions.add(new Position(40.7128, -74.0060));
positions.add(new Position(40.6828, -73.9352));
positions.add(new Position(40.6828, -74.0060));
LineString lineString = new LineString(positions);

// 创建文档并插入LineString对象
Document document = new Document("name", "Line")
.append("path", lineString);
collection.insertOne(document);

// 打印插入的文档ID
ObjectId id = (ObjectId) document.get("_id");
System.out.println("Inserted document with ID: " + id);
}
}

标签:java,mongo,Position,geometry,positions,new,import,document,id
From: https://www.cnblogs.com/wangdonghua/p/17564114.html

相关文章

  • Java读取txt文件内容并求交集并集差集对称差集合去重
    Java读取两个txt内容并作集合运算文件内容及格式完整代码packagecom.example.fortotest;importjava.io.BufferedReader;importjava.io.File;importjava.io.InputStreamReader;importjava.nio.file.Files;importjava.util.HashSet;importjava.util.Objects;pu......
  • Java异常机制
    Java异常机制什么是异常异常是指程序运行中出现的不期而至的各种状况,例如:文件找不到,网络连接失败,非法参数等异常的三种类型:检查型异常:最具代表的是用户错误或问题引起的异常运行时异常错误:错误不是异常,而是脱离程序员控制的问题异常体系结构Java把异常当作对象......
  • Java常用类
    Java常用类内部类概念:在一个类的内部再定义一个完整的类特点:1.编译后可以生成独立的字节码文件​ 2.内部类可以直接访问外部类的私有成员,而不破坏封装​ 3.可为外部类提供必要的功能组件//身体publicclassBody{privateStringname;//头部clas......
  • JAVA SE基础《七》 ---- JAVA案例
    目录一、案例一:买飞机票二、案例二:开发验证码三:案例三:评委打分四、案例四:数字加密五、案例五:数组拷贝六、案例六:抢红包七、案例七:找素数八、案例八:打印乘法表,打印三角形九、案例九:模拟双色球[拓展案例]1、业务分析、随机生成一组中奖号码2、让用户输入一组号码......
  • Java使用Stream函数对集合进行分组
    1List<Map<String,String>>list=newArrayList<>();2Map<String,String>map1=newHashMap<>();3map1.put("name","卢俊义");4map1.put("book","水浒传"......
  • java类型转换
    java类型转换-由于Java是强类型语言,所以在运算时,有时需要类型转换-低------------------------------------高-byte,short,char->int->long->float(小数的优先级大于整数)->double-运算中,不同类型的数据先转化为同一类型,然后进行运算-强制类型转换......
  • java后台启动jar包的一些命令
    启动方式一在jar包所在文件夹打开命令窗口,输入以下命令java-jarapp.jar特点:当前ssh窗口被锁定,可按CTRL+C打断程序运行,或直接关闭窗口,程序退出启动方式二java-jarapp.jar&&代表在后台运行。特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。启动方式三:no......
  • Java根据原始URL获取网络重定向后的URL
    方法1:/***获取重定向地址*@parampath原地址*@return*@throwsException*/privateStringgetRedirectUrl(Stringpath)throwsException{HttpURLConnectionconn=(HttpURLConnection)newURL(path)......
  • Java基本语法
    Java基本语法注释1单行注释2多行注释3文档注释//输出一个Helloworld单行注释/**多行注释**//***文档注释*@DescriptionHelloWorld*@AuthorDunCan*/标识符-Java所有的组成部分都需要名字。###标识符注意点1所有......
  • 设计模式-外观模式在Java中的使用示例
    场景外观模式外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。示例自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、......