A. 大家好 有个问题想请教下 我最近用arcgis server发布一个学校的网络分析地图服务和地理编码服务出现如下错
没有权限,找一个有网络服务权限的许可,你这只提示networkserver没有,其它的许可,可以把networkserver发布服务的时候去掉,然后再看看能不能发成功.
B. 什么是地理编码主要有哪三种方法其算法分别是怎样的
地理编码(Geocoding)又称地址匹配(address-matching),指建立地理位置坐标与给定地址一致性的过程。也是指在地图上找到并标明每条地址所对应的位置。地理编码是GIS中比较重要的一个功能。
地址匹配,或地理编码,就是一个通过地址中某路段的起始,终了位置,并同时考虑到单双号因素,以确定地理位置的过程.
一个大型的政府GIS要求能够将任何数据移植到空间坐标系中,这个过程包括对数据的准确分类和注册,以及使所有的数据能够与一个空间坐标系建立关联;从而保证数据库中的每一个对象被准确无误地叠加在地图上,建立空间信息与非空间信息之间的联系。因此,地理编码在城市空间定位和分析领域内具有非常广泛的应用,如满足城市规划建设以、公安部门119、110报警系统等基于位置的服务要求。
地理编码的方式主要有:反向地理编码服务、向量式地理编码、网格式地理编码
反向地理编码服务
反向地理编码服务实现了将地球表面的地址坐标转换为标准地址的过程,反向地理编码提供了坐标定位引擎,帮助用户通过地面某个地物的坐标值来反向查询得到该地物所在的行政区划、所处街道、以及最匹配的标准地址信息。通过丰富的标准地址库中的数据,可帮助用户在进行移动端查询、商业分析、规划分析等领域创造无限价值。
向量式地理编码
向量式地理编码(vector geocoding)指使用坐标参考系统去定义点、线、面特征的位置。 向量化(vectorization):指将网格式资料转换为向量形式的过程。
网格式地理编码
网格式地理编码(raster geocoding)指使用建立于矩阵或方格的座标系统来标定位置,这样的位置资料包含栏与列,称为图元(pixel)。 栅格化(rasterization)指将向量式资料转换为网格形式的过程。
C. 什么是地理编码
地理编码指的是将统计资料或是地址信息建立空间坐标关系的过程。
地理编码非同一般意义上的数字编码,不是用数字或字母来代表某一对象,而是跟据各数据点的地理坐标或空间地址(如省市、街区、楼层、房间等),将数据库中的数据与其在地图上相对应的图形元素一一对应。即给每个数据赋予X、Y值,从而确定该数据标在图上的位置的过程。
地理编码又称地址匹配。是为识别点、线、面的位置和属性而设置的编码,它将全部实体按照预先拟定的分类系统,选择最适宜的量化方法,按实体的属性特征和集合坐标的数据结构记录在计算机的储存设备上。
地理编码有正向地理编码、反向地理编码、向量式地理编码、网格式地理编码四种服务类型。
1、正向地理编码,是将地址或地名描述转换为地球表面上相应位置的过程。正向地理编码提供地址定位引擎、行政区划引擎、街道引擎。
2、反向地理编码,是将地球表面的地址坐标转换为标准地址的过程,反向地理编码提供了坐标定位引擎,通过地面某个地物的坐标值来反向查询得到该地物所在的行政区划、所处街道、以及最匹配的标准地址信息。
3、向量式地理编码,是指使用坐标参考系统去定义点、线、面特征的位置。 向量化:指将网格式资料转换为向量形式的过程。
4、网格式地理编码(也叫栅格化地理编码),是指使用建立于矩阵或方格的座标系统来标定位置,这样的位置资料包含栏与列,称为图元。 栅格化:指将向量式资料转换为网格形式的过程。
D. 地理编码的正向地理编码服务
正向地理编码服务实现了将中文地址或地名描述转换为地球表面上相应位置的功能。正向地理编码提供的专业和多样化的引擎以及丰富的数据库数据使得服务应用非常广泛,在资产管理、规划分析、供应物流管理和移动端输入等方面为用户创造无限的商业价值。 网格式地理编码(raster geocoding)指使用建立于矩阵或方格的座标系统来标定位置,这样的位置资料包含栏与列,称为图元(pixel)。 栅格化(rasterization)指将向量式资料转换为网格形式的过程。
E. 怎么样用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地理编码这一小工具,可以方便快捷的利用地图等相关厂商提供的地理编码服务,将文字描述的位置转换成地图上的经纬度,或者通过地图上的某个位置坐标获得相应的位置信息文字描述。
F. arcgis server反地理编码服务怎么发布
一、使用工具:Catalog、地理编码工具
二、发布方法步骤:
1、创建定位器
在Catalog中打开地理编码工具->创建地址定位器,如下图所示:
图解ArcGIS Server之发布地理编码服务
图解ArcGIS Server之发布地理编码服务
三、注意事项:将一个地址的描述信息映射为地图上所对应的空间位置,地理编码服务是GIS中比较重要的一个功能
G. 地理编码在地图中的应用
地理编码在地图中的应用这个在地图中我没看到地理编码的应用啊。不知道他是怎么应用的,也想知道一下。
H. 如何发布一个自己的地理编码,逆地理编码服务
我利用CoreLocatiolocManager=[[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]要想 提问没意义烦恼都我自找如何发布一个自己的地理编码,逆地理编码服务