欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot + mongodb 通過經緯度坐標匹配平面區(qū)域的方法

 更新時間:2021年10月29日 10:57:42   作者:失策狗  
這篇文章主要介紹了springboot + mongodb 通過經緯度坐標匹配平面區(qū)域的方法,文中通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

java api 自帶的mongodb實體無法滿足環(huán)狀多邊形的區(qū)域匹配(大概是我沒用對方法可能)所以我們要自定義一個空間坐標類型

廢話不多說 上代碼

/**
 *
 * @author cy
 */
@Configuration
@ReadingConverter
public class CustomReadGeoJsonConverter implements Converter<Document, CustomGeoJson> {

    @Override
    public CustomGeoJson convert(Document document) {
        CustomGeoJson geoJson = new CustomGeoJson();
        geoJson.setType(document.get(GeoJsonConstant.TYPE, String.class));
        geoJson.setCoordinates(document.get(GeoJsonConstant.COORDINATES, Iterable.class));
        return geoJson;
    }

}
@Configuration
public class Config {
    @Autowired
    private CustomReadGeoJsonConverter customReadGeoJsonConverter;
    @Bean
    public MongoCustomConversions customConversions() {
        List<Converter<?, ?>> converterList = new ArrayList<>();
        converterList.add(customReadGeoJsonConverter);
        return new MongoCustomConversions(converterList);
    }
}

自定義的空間坐標類型插入實體
其中的coordinates 可自定義插入point

/**
 * @author cy
 */
@Data
public class CustomGeoJson implements GeoJson, Serializable {
    private String type;

    private Iterable<?> coordinates;

}

在我們定義的mongodb實體中加入我們自定義的類型

/**
 * @author cy
 * @since 2021-10-20
 */
@Data
@Document(collection = "demo_mdb")
public class DemoMdb implements Serializable {

    private String id;

    @GeoSpatialIndexed(type = GeoSpatialIndexType.GEO_2DSPHERE)
    private CustomGeoJson customGeoJson;
}

插入數據

public void saveData() {
 	//這里自定義point點集合(這里不固定格式參照mongdb官方文檔)
  	List<List<Point>> pointList = new ArrayList<>();
  	DemoMdb db=new DemoMdb();
  	//自行查看需要的類型
  	db.setType("***");
  	db.setCoordinates(pointList);
  	//mongoTemplate自行引入不做贅述
 	mongoTemplate.insert(db, DemoMdb .class);
}

查詢數據

 /**
 ** 經度x緯度y
 **/
public List<DemoMdb> findData(String x, String y) {
        Query query = new Query(Criteria.where("customGeoJson").
        intersects(new GeoJsonPoint(Double.valueOf(x), Double.valueOf(y))));
        List<DemoMdb> dbList = mongoTemplate.find(query, DemoMdb.class);
        return dbList;
}

只是一種方法,還不完美歡迎評論指教

到此這篇關于springboot + mongodb 通過經緯度坐標匹配平面區(qū)域的方法的文章就介紹到這了,更多相關springboot mongodb 經緯度內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Window環(huán)境下配置Mongodb數據庫

    Window環(huán)境下配置Mongodb數據庫

    這篇文章介紹了Window環(huán)境下配置Mongodb數據庫的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • MongoDB使用小結:一些不常見的經驗分享

    MongoDB使用小結:一些不常見的經驗分享

    最近一年忙碌于數據處理相關的工作,跟MongoDB打交道極多,以下為實踐過程中的Q&A,后續(xù)會不定期更新補充
    2017-03-03
  • mongoDB 多重數組查詢(AngularJS綁定顯示 nodejs)

    mongoDB 多重數組查詢(AngularJS綁定顯示 nodejs)

    這篇文章主要介紹了mongoDB 多重數組查詢(AngularJS綁定顯示 nodejs),需要的朋友可以參考下
    2017-06-06
  • Mongodb?刪除文檔Delete與Remove的區(qū)別解析

    Mongodb?刪除文檔Delete與Remove的區(qū)別解析

    這篇文章主要介紹了Mongodb?刪除文檔Delete與Remove的區(qū)別,要從集合中刪除所有文檔,請將空過濾器文檔傳遞{}給該?db.collection.deleteMany()方法,本文通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • MongoDB特點與體系結構等簡介

    MongoDB特點與體系結構等簡介

    今天小編就為大家分享一篇關于MongoDB特點與體系結構等簡介,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 給MongoDB添加用戶權限方法分享

    給MongoDB添加用戶權限方法分享

    這篇文章主要介紹了給MongoDB添加用戶權限方法分享,十分的細致全面,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • MongoDB mongoexport工具的使用簡介

    MongoDB mongoexport工具的使用簡介

    這篇文章主要介紹了MongoDB mongoexport工具的使用簡介,幫助大家更好的理解和學習使用MongoDB數據庫,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB教程之索引介紹

    MongoDB教程之索引介紹

    這篇文章主要介紹了MongoDB教程之索引介紹,本文講解了索引基礎、唯一索引、使用explain、索引管理等內容,需要的朋友可以參考下
    2015-05-05
  • Windows系統(tǒng)下安裝MongoDB并內網穿透遠程連接

    Windows系統(tǒng)下安裝MongoDB并內網穿透遠程連接

    這篇文章主要給大家介紹了關于Windows系統(tǒng)下安裝MongoDB并內網穿透遠程連接的相關資料,文中通過圖文將步驟介紹的非常詳細,對大家學習或者使用MongoDB具有一定的參考學習價值,需要的朋友可以參考下
    2023-03-03
  • mongodb權限設置之添加管理員、普通用戶的方法

    mongodb權限設置之添加管理員、普通用戶的方法

    這篇文章主要介紹了mongodb添加管理員、普通用戶的方法,同時介紹了mongodb開啟權限認證后PHP客戶端的兩種連接方法,需要的朋友可以參考下
    2014-06-06

最新評論