基於Addrparser根據經緯度分析所在地區位置
阿新 • • 發佈:2022-03-26
感謝:https://github.com/hsp8712/addrparser
前因:專案需要分析經緯度資料得到具體地址,資料量有百萬條,直接呼叫XX地圖的介面逐條返回太慢了,故考慮離線分析。
沒啥好多說的,注意點是這個region是20190902,要新的話還是去調XX地圖介面吧,專案解釋很詳細,很好用。本文僅作記錄。
匯入環境
<dependency> <groupId>tech.spiro</groupId> <artifactId>addrparser</artifactId> <version>1.1</version> </dependency>
china-region-20190902.zip 解壓後得到檔案:china-region.json,檔案中包括了所有的省市區行政區域資訊,包括編碼、名稱、中心點、邊界點集合。
經緯度資料基於GCJ-02座標系。
解析程式碼
// china-region.json檔案作為基礎資料 RegionDataInput regionDataInput = new JSONFileRegionDataInput("path/china-region.json");//json地址 // 建立並初始化位置解析引擎,一般配置為全域性單例 LocationParserEngine engine = new LocationParserEngine(regionDataInput);// 初始化,載入資料,比較耗時 engine.init(); // 執行解析操作 Location location = engine.parse(118.750934,32.038634); // 獲取省市區資訊 RegionInfo provInfo = location.getProv(); RegionInfo cityInfo = location.getCity(); RegionInfo districtInfo = location.getDistrict();