① 百度手機地圖api中怎麼獲得當前位置所屬省市
//首先你要有經緯度,這個自己定位出來或者從伺服器獲取固定的都行,然後加BMKSearchDelegate
#import "BMKGeocodeType.h" //加上這個頭文件,地理編碼和反地理編碼要用上
BMKSearch *search = [[BMKSearch alloc]init];
search.delegate = self;
CLLocationCoordinate2D pt = (CLLocationCoordinate2D){0,0};
pt=(CLLocationCoordinate2D){coordinatex,coordinatey};
NSLog(@"搜索成功?:%d",[search reverseGeocode:pt]);
//上面代碼會執行下面的事件
- (void)onGetAddrResult:(BMKAddrInfo*)result errorCode:(int)error{
//具體位置
if (error == 0) {
if (result.addressComponent.streetName!=nil&&result.addressComponent.streetNumber!=nil) {
//具體位置
address = [NSString stringWithFormat:@"當前位置:%@%@",result.addressComponent.streetName,result.addressComponent.streetNumber];
}else{
//具體位置
address = [NSString stringWithFormat:@"當前位置:%@",result.strAddr];
}
}
}
② 高德api地理編碼和逆地理編碼問題
我利用CoreLocatio下的locManager=[[CLLocationManager alloc]init];
// locManager.delegate=self;
// locManager.desiredAccuracy=kCLLocationAccuracyBest;
// locManager.distanceFilter=5.0f;
// [locManager startUpdatingLocation];
方法獲取當前位置的經緯度,然後用
MASearch *maSearch=[[MASearch alloc]init];
*searchOption=[[ alloc]init];
searchOption.config=@"SPAS";
searchOption.x=self.klatitude;
searchOption.y=self.klongitude;
[maSearch :searchOption]
不要多想 這樣的提問沒有意義
很多煩惱都是我們自己找的
③ 手機軟體是如何獲取我們的地理位置信息的
手機軟體主要是由gps獲取地理位置信息的,操作方法如下:
1、首先解鎖手機,在桌面上找到並點擊「設置」選項。
④ 有關全球定位地理編碼的方法都有哪些
地理編碼(Geocode)是MapInfo系統的特性之一,它作為MapInfo集成環境中的一個功能菜單項被用戶使用.MapInfo中的地理編碼概念有別於一般的編碼定義,它不是用數字或字母來代表某一地物,而是把點狀目標分配給屬性數據記錄的一行,記錄中的欄位數據(如建築物地址)被用來和圖形資料庫中的相應欄位匹配,從而決定該記錄點應該在地圖上什麼位置.在MapInfo中,它的解釋如下:所謂地理編碼,是指根據各數據點的地理坐標或空間地址(如省市、街區、樓層、房間等),將資料庫中數據與其在地圖上相對應的圖形元素一一對應.也就是說,給每個數據賦以X、Y坐標值,從而確定該數據標在圖上的位置的過程.被插入點狀目標的表稱為靶表,而點的地理坐標來源於一個有地圖的源表.地理編碼派生點圖形目標的派生規則是:面體目標取幾何中心點,線體目標取兩個結點的中點,點目標取點本身坐標.地理編碼(Geocode)是MapInfo系統的特性之一,它作為MapInfo集成環境中的一個功能菜單項被用戶使用.MapInfo中的地理編碼概念有別於一般的編碼定義,它不是用數字或字母來代表某一地物,而是把點狀目標分配給屬性數據記錄的一行,記錄中的欄位數據(如建築物地址)被用來和圖形資料庫中的相應欄位匹配,從而決定該記錄點應該在地圖上什麼位置.在MapInfo中,它的解釋如下:所謂地理編碼,是指根據各數據點的地理坐標或空間地址(如省市、街區、樓層、房間等),將資料庫中數據與其在地圖上相對應的圖形元素一一對應.也就是說,給每個數據賦以X、Y坐標值,從而確定該數據標在圖上的位置的過程.被插入點狀目標的表稱為靶表,而點的地理坐標來源於一個有地圖的源表.地理編碼派生點圖形目標的派生規則是:面體目標取幾何中心點,線體目標取兩個結點的中點,點目標取點本身坐標.
⑤ 地理編碼的詳細
又稱地址匹配。是為識別點、線、面的位置和屬性而設置的編碼,它將全部實體按照預先擬定的分類系統,選擇最適宜的量化方法,按實體的屬性特徵和集合坐標的數據結構記錄在計算機的儲存設備上。
MapInfo中的地理編碼
其概念有別於一般的編碼定義,它不是用數字或字母來代表某一對象,而是把點狀目標分配給屬性數據記錄的一行,記錄中的欄位數據被用來和圖形資料庫中的相應欄位匹配,從而決定該記錄點應該在地圖上什麼位置。
也就是說,根據各數據點的地理坐標或空間地址(如省市、街區、樓層、房間等),將資料庫中的數據與其在地圖上相對應的圖形元素一一對應。即給每個數據賦予X、Y值,從而確定該數據標在圖上的位置的過程。被插入點狀目標的表稱為目標表,而點的地理坐標來源於一個有地圖的源表。
SuperMap地址匹配模塊
超圖(SuperMap)最新的SuperMap GIS系列軟體中的基礎開發平台SuperMap Objects中即含有地址匹配模塊(AddressMatching Mole),可以提供中文地址模糊匹配搜索的功能。該功能基於一個地址詞典,可以對地圖中的多個圖層進行地址匹配。
⑥ Android高德通過經緯度獲取地理位置
首先導入依賴:
首次導入依賴的過程可能有點慢
然後在需要用到逆地理編碼的類或彈窗或其他地方中實現 GeocodeSearch.OnGeocodeSearchListener
監聽
例子:
並實現其兩個方法:
通過經緯度逆地理編碼得到位置核心編碼
這樣我們就可以實現通過經緯度得到一個位置信息了
福利贈送~~~
1、繼承 OnGeocodeSearchListener 監聽。
2、構造 GeocodeSearch 對象,並設置監聽。
3、通過 GeocodeQuery(java.lang.String locationName, java.lang.String city) 設置查詢參數,調用 GeocodeSearch 的 getFromLocationNameAsyn(GeocodeQuery geocodeQuery) 方法發起請求。
4、通過回調介面 onGeocodeSearched 解析返回的結果。
說明:
1)可以在回調中解析result,獲取坐標信息。
2)返回結果成功或者失敗的響應碼。1000為成功,其他為失敗(詳細信息參見網站開發指南-實用工具-錯誤碼對照表)
⑦ 手把手教你Tableau自定義地理編碼(十九)
Tableau 繪制地圖時,支持的地理位置數據有限。當我們需要 Tableau 識別我們自定義的地理位置數據時,我們可以使用 Tableau 的自定義地理編碼功能。
Tableau 自定義編碼功能主要分為「擴展已有的地理角色」、「添加新的地理角色」、「添加新的分層結構」三種方式。
需要注意的是,擴展已有的地理角色是在系統已有的地理編碼上進行添加,所以編碼數據的列名都是固定的,這樣 Tableau 才可以識別添加上的編碼數據。
1、按照上圖 1 生成數據後,點擊地圖,選擇地理編碼 -- 導入自定義地理編碼;
2、選擇包含地理編碼為 CSV 文件的 文件夾(需要把地理編碼文件單獨放到文件夾內) 導入;
3、設置維度「城市」的地理角色為城市,並雙擊城市,會自動生成地圖;
操作步驟同上,詳情看下圖。
操作步驟同上,詳情看下圖。
只要經緯度就可以了,沒有任何限制。
操作步驟同上,詳情看下圖。
操作步驟同上,詳情看下圖。
1、自定義編碼的文件必須是 CSV 文件,否則導入失敗;
2、導入自定義編碼時,自定義編碼文件需要保存在單獨的文件夾內;
3、擴展已有的地理角色,必須按照固定的列名稱自建編碼文件,否則無法識別;
4、添加新分層結構,可以完全自定義列名,只要有經緯度就可以了。
⑧ 怎麼樣用Python實現地理編碼
引言
今天看到一篇阿里雲的文章天下武功,唯快不破,以物流行業為例,分析了 PostgreSQL 與 Greenplum 在地理位置信息處理,最佳路徑演算法,機器學習等方面的物流行業應用方法。其中提到了地址轉換成坐標的問題,更專業些的名詞應該是「地理編碼」,即知道一個地址,如北京市海淀區上地十街10號,怎麼樣可以獲取到對應的經緯度位置信息(40,116),或者反過來。
地理編碼概念
很多地圖相關的廠商都提供了相關的API,我們可以直接利用這些API得到這些信息。比如網路的Geocoding API。
Geocoding API是一類介面,用於提供從地址到經緯度坐標或者從經緯度坐標到地址的轉換服務,用戶可以使用C# 、C++、Java等開發語言發送請求且接收JSON、XML的返回數據。Geocoding API包括地址解析和逆地址解析功能:
Paste_Image.png
地理編碼:即地址解析,由詳細到街道的結構化地址得到網路經緯度信息,例如:「北京市海淀區中關村南大街27號」地址解析的結果是「lng:116.31985,lat:39.959836」。同時,地理編碼也支持名勝古跡、標志性建築名稱直接解析返回網路經緯度,例如:「網路大廈」地址解析的結果是「lng:116.30815,lat:40.056885」 。
逆地理編碼:即逆地址解析,由網路經緯度信息得到結構化地址信息,例如:「lat:31.325152,lng:120.558957」逆地址解析的結果是「江蘇省蘇州市虎丘區塔園路318號」。
不過,需要說明的一點是,若想使用網路的這套API的前提是,有網路賬號並申請相應的Key。其實,除了網路之外,谷歌、ESRI、微軟的Bing等都有類似的地理編碼服務。不過這些服務大多沒有專門針對Python的庫並且彼此之間的Json結構也不一致。於是乎專治不服的Python大神做了一個專門的地理編碼工具geocoder,將這些不同廠商的服務整合統一起來。
地理編碼工具geocoder
首先看一下它都支持哪些公司的地理編碼服務:
Provider
Optimal
Usage Policy
ArcGIS World
Bai China API key
Bing World API key
CanadaPost Canada API key
FreeGeoIP World
Geocoder.ca CA & US Rate Limit
GeocodeFarm World Policy
GeoNames World Username
GeoOttawa Ottawa
Google World Rate Limit, Policy
HERE World API key
IPInfo World
Mapbox World API key
MapQuest World API key
Mapzen World API key
MaxMind World
OpenCage World API key
OpenStreetMap World Policy
Tamu US API key
TomTom World API key
What3Words World API key
Yahoo World
Yandex Russia
TGOS Taiwan
安裝
pip install geocoder
地理編碼
import geocoder
g = geocoder.google("1403 Washington Ave, New Orleans, LA 70130")
g = geocoder.arcgis(u"北京市海淀區上地十街10號")
g.latlng
輸出為
[29.9287839, -90.08421849999999]
也可以查看完整的geojson
g.geojson
輸出為
{'bbox': [-90.0855674802915,
29.9274349197085,
-90.0828695197085,
29.9301328802915],
'geometry': {'coordinates': [-90.08421849999999, 29.9287839],
'type': 'Point'},
'properties': {'accuracy': u'ROOFTOP',
'address': u'1403 Washington Ave, New Orleans, LA 70130, USA',
'bbox': [-90.0855674802915,
29.9274349197085,
-90.0828695197085,
29.9301328802915],
'city': u'New Orleans',
'confidence': 9,
'country': u'US',
'county': u'Orleans Parish',
'encoding': 'utf-8',
'housenumber': u'1403',
'lat': 29.9287839,
'lng': -90.08421849999999,
'location': '1403 Washington Ave, New Orleans, LA 70130',
'neighborhood': u'Garden District',
'ok': True,
'place': u'ChIJGyFHWc2lIIYRYSoneaXAUiw',
'postal': u'70130',
'provider': 'google',
'quality': u'street_address',
'state': u'LA',
'status': 'OK',
'status_code': 200,
'street': u'Washington Ave'},
'type': 'Feature'}
直接用Google嘗試查詢中文地址時失敗
g = geocoder.google(u"北京市海淀區上地十街10號")
g.ok
輸出為
False
用網路應該沒問題,不過我沒有申請相應的key。切換到arcgis,能夠成功編碼
g = geocoder.arcgis(u"北京市海淀區上地十街10號")
g.latlng
輸出為
[40.050934, 116.30079]
逆地理編碼
g = geocoder.google([29.9287839, -90.08421849999999], method='reverse')
print g.address
print g.city
print g.state
print g.country
輸出為
1403 Washington Ave, New Orleans, LA 70115, USA
New Orleans
LA
US
換成中國的地址
g = geocoder.google([40.050934, 116.30079], method='reverse')
print g.address
print g.city
print g.state
print g.country
輸出為
Bai Du Da Sha, Haidian Qu, Beijing Shi, China, 100193
Beijing
Beijing Shi
CN
用arcgis的服務試試
g = geocoder.arcgis([40.050934, 116.30079], method='reverse')
print g.address
print g.city
print g.state
print g.country
輸出為
None
北京市
北京市
CHN
Google轉換成的是英文,但地址比較全。arcgis雖然是中文,但是詳細的地址居然輸出為了None,這有個X用。
其他
geocoder 的功能不止於此,它還可以查IP(包括自己的)。
g = geocoder.ip('199.7.157.0')
print g.latlng
print g.city
g = geocoder.ip('me')
print g.latlng
print g.city
輸出為
[43.6934, -79.4857]
Toronto
[51.05, 13.75]
Dresden
查詢一個城市的空間包圍盒
g = geocoder.arcgis(u"山東")
g.bbox
輸出為
{'northeast': [38.976997, 121.976998], 'southwest': [33.022997, 116.022998]}
小結
空間信息既可以利用行政區劃、自然地理區域等文本信息描述,也可以用坐標系統、數字(郵編等)來標識。利用地理編碼技術,可以將空間信息的地理定位要素與相應的文本信息關聯起來。本文主要介紹了geocoder地理編碼這一小工具,可以方便快捷的利用地圖等相關廠商提供的地理編碼服務,將文字描述的位置轉換成地圖上的經緯度,或者通過地圖上的某個位置坐標獲得相應的位置信息文字描述。
⑨ 什麼是地理編碼
地理編碼指的是將統計資料或是地址信息建立空間坐標關系的過程。
地理編碼非同一般意義上的數字編碼,不是用數字或字母來代表某一對象,而是跟據各數據點的地理坐標或空間地址(如省市、街區、樓層、房間等),將資料庫中的數據與其在地圖上相對應的圖形元素一一對應。即給每個數據賦予X、Y值,從而確定該數據標在圖上的位置的過程。
地理編碼又稱地址匹配。是為識別點、線、面的位置和屬性而設置的編碼,它將全部實體按照預先擬定的分類系統,選擇最適宜的量化方法,按實體的屬性特徵和集合坐標的數據結構記錄在計算機的儲存設備上。
地理編碼有正向地理編碼、反向地理編碼、向量式地理編碼、網格式地理編碼四種服務類型。
1、正向地理編碼,是將地址或地名描述轉換為地球表面上相應位置的過程。正向地理編碼提供地址定位引擎、行政區劃引擎、街道引擎。
2、反向地理編碼,是將地球表面的地址坐標轉換為標准地址的過程,反向地理編碼提供了坐標定位引擎,通過地面某個地物的坐標值來反向查詢得到該地物所在的行政區劃、所處街道、以及最匹配的標准地址信息。
3、向量式地理編碼,是指使用坐標參考系統去定義點、線、面特徵的位置。 向量化:指將網格式資料轉換為向量形式的過程。
4、網格式地理編碼(也叫柵格化地理編碼),是指使用建立於矩陣或方格的座標系統來標定位置,這樣的位置資料包含欄與列,稱為圖元。 柵格化:指將向量式資料轉換為網格形式的過程。
⑩ 什麼是地理編碼主要有哪三種方法其演算法分別是怎樣的
地理編碼(Geocoding)又稱地址匹配(address-matching),指建立地理位置坐標與給定地址一致性的過程。也是指在地圖上找到並標明每條地址所對應的位置。地理編碼是GIS中比較重要的一個功能。
地址匹配,或地理編碼,就是一個通過地址中某路段的起始,終了位置,並同時考慮到單雙號因素,以確定地理位置的過程.
一個大型的政府GIS要求能夠將任何數據移植到空間坐標系中,這個過程包括對數據的准確分類和注冊,以及使所有的數據能夠與一個空間坐標系建立關聯;從而保證資料庫中的每一個對象被准確無誤地疊加在地圖上,建立空間信息與非空間信息之間的聯系。因此,地理編碼在城市空間定位和分析領域內具有非常廣泛的應用,如滿足城市規劃建設以、公安部門119、110報警系統等基於位置的服務要求。
地理編碼的方式主要有:反向地理編碼服務、向量式地理編碼、網格式地理編碼
反向地理編碼服務
反向地理編碼服務實現了將地球表面的地址坐標轉換為標准地址的過程,反向地理編碼提供了坐標定位引擎,幫助用戶通過地面某個地物的坐標值來反向查詢得到該地物所在的行政區劃、所處街道、以及最匹配的標准地址信息。通過豐富的標准地址庫中的數據,可幫助用戶在進行移動端查詢、商業分析、規劃分析等領域創造無限價值。
向量式地理編碼
向量式地理編碼(vector geocoding)指使用坐標參考系統去定義點、線、面特徵的位置。 向量化(vectorization):指將網格式資料轉換為向量形式的過程。
網格式地理編碼
網格式地理編碼(raster geocoding)指使用建立於矩陣或方格的座標系統來標定位置,這樣的位置資料包含欄與列,稱為圖元(pixel)。 柵格化(rasterization)指將向量式資料轉換為網格形式的過程。