天天看點

大批量查詢1公裡範圍内的地标點方法

已知要查詢某點經緯度1公裡範圍内的地标點,查詢解決方法:

1、釋出圖層方法:使用arcgis,自己釋出map服務圖層,在根據點做一個1公裡範圍圓,跟釋出的圖層做相交判斷,可以傳回相交的一些地标點資料和相關屬性值;

2、背景查詢資料庫方法:

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

      可以參考如下模型:

大批量查詢1公裡範圍内的地标點方法

     2)如何将米為機關轉化為經緯度,根據經緯度大小去約定範圍

public void jishuanlong(){

double lng=119.281394256422;

double lat=36.68916380103680;

double fangwei=500;//機關m

double x;

double y;

//經度差

x=fangwei/(110000*Math.cos(lat));//讓查詢範圍大一點,這樣不會遺漏資料

//緯度差

y=fangwei/110000;//讓查詢範圍大一點

        System.out.print("經度差:"+x+",緯度差:"+y);

}

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