大批量查詢1公里範圍內的地標點方法

已知要查詢某點經緯度1公里範圍內的地標點,查詢解決方法:

1、發佈圖層方法:使用arcgis,自己發佈map服務圖層,在根據點做一個1公里範圍圓,跟發佈的圖層做相交判斷,可以返回相交的一些地標點數據和相關屬性值;

2、後臺查詢數據庫方法:

     1)大批量數據查詢時,肯定不可以一條條的地標點數據進行匹配,這個時候需要加上條件限制,闢如經緯度的大小,約定好需要查詢的地點範圍進行篩選,會提高很多的效率;

      可以參考如下模型:


     2)如何將米爲單位轉化爲經緯度,根據經緯度大小去約定範圍

public void jishuanlong(){
double lng=119.281394256422;
double lat=36.68916380103680;
double fangwei=500;//單位m
double x;
double y;
/*同一經線上緯度差1°經線長約爲111KM.
    同一緯線圈上,經度差1°,其長約爲111*cosαkm.(α爲地理緯度)*/
//經度差
x=fangwei/(110000*Math.cos(lat));//讓查詢範圍大一點,這樣不會遺漏數據
//緯度差
y=fangwei/110000;//讓查詢範圍大一點
       
        System.out.print("經度差:"+x+",緯度差:"+y);

}

     3)用sql時確定好範圍即可(但是相關sql的約定function,自己去查找下,闢如要求<200)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章