实现输入地址地标转换为其经纬度

本文链接:地理编码

作者: 狐狸家的鱼

Github: 八至

一、地理编码

1、地理编码含义

地址编码(或地理编码)是使用地址中包含的信息来插入地图上的相应位置的过程。使用参考数据源(称为定位器),ArcGIS通过将输入地址与要素属性进行匹配来查找地图位置。

通俗的说就是:地理编码采用地址或地名,并将其转换为实际坐标。

与此相关的反向地理编码,类似于地理编码,它只是找到与给定地图坐标相关的最近地址或地名,而不是找到与特定地址或地名相关联的坐标。

2、定位器

地理编码的基本逻辑内置于定位器中,而不是来自ArcGIS Runtime SDK代码。

定位器(使用ArcGIS Desktop创建)是地理编码过程中的主要组件,包含执行地址匹配所需的所有数据。

定位器基于特定的地址定位器样式创建,该样式指示预期的地址输入类型以及将如何执行匹配。

在使用定位器时,需要调用ArcGIS World地理编码服务(https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer)

更多常用定位器样式可以参考。

3、地址

地址是地理编码的基础,由一个或多个地址元素组成,地址元素有助于地理编码搜索,精确定位到特定位置的地址。

进行地理编码时,可以传入地址的各个组件,或者将所有信息作为要解析的单个字符串提供。定义地址的每个组件可以提供更多控制,但可能要求在将组件传递给定位器之前解析组件,或者为用户提供其他UI控件以输入每条信息。

进行地理编码时,输入地址中预期的信息类型由正在使用的定位器配置的地址样式确定。

一些常用地址组件字段名称,如:

  • 地址 - 门牌号码和街道
  • 邻里 - 城市的细分(不用于美国地址)
  • 城市或市政府
  • 次区域 - 行政区域,如县或省(不用于美国或墨西哥地址)
  • 地区 - 与地址相关的最大行政边界(美国的州名)
  • 邮政邮政编码
  • CountryCode-国家/地区的名称或ISO代码

更多可以参考地理编码字段输入

4、结果

特定地址的地理编码结果称为候选,根据输入地址的具体和完整程度,可以从地理编码操作中获得几个候选项。地理编码结果按照匹配的质量排序,因此第一个候选人通常是最好的。可以通过指定要包括在结果中的补充输出字段来获得附加候选信息。

一、实现

在ArcGIS for QML API参考文档中查询地理编码Geocode可以得到三个类型:GeocodeParameters(地理编码参数)、GeocodeResult(地理编码结果)、ReverseGeocodeParameters(反向地理编码参数),这三个都是在LocatorTask任务下进行的。

1、LocatorTask

LocatorTask是地理编码和反向地理编码的任务,支持在线和离线功能。

地理编码采用地址或地名,并将其转换为实际坐标,但必须首先进行地理编码以将其书面描述或地址转换为一组可以放在地图上的真实世界坐标。

地址定位器来使用LocatorTask进行地理编码。

LocatorTask是异步执行。成功执行会返回GeocodeResult列表,包含有关匹配记录的详细信息。还支持意见,这使开发人员能够显示来自定位器自动生成的建议,基于什么用户在搜索框中键入了。

2、定位器组件

界面代码:

MyTextField{//搜索框
                    id:searchBox;width: 280;focus: true;Keys.enabled: true;placeholderText: "Please enter landmark";//Keys.onReturnPressed:
                    Rectangle{anchors{right: parent.right;top:parent.top;bottom: parent.bottom;margins: 5;}width: 35;color: "transparent";Image {//搜索
                            anchors.centerIn: parent;width: 30;height: width;source: "../../Images/find.png";visible: searchBox.text.length === 0;MouseArea{anchors.fill: parent;onClicked: {searchBox.focus = true;}}}}Image {//清除
                        anchors{right: parent.right;top:parent.top;bottom: parent.bottom;margins: 5;}width: 27;height: width;source: "../../Images/closeclear.png";visible: parent.text.length !== 0;MouseArea{anchors.fill:parent;onClicked: {searchBox.text = "";coordinateShow.text = "";}}}Keys.onReturnPressed: {geocodeAddress(searchBox.text);}}}Row{//label
                anchors.horizontalCenter: parent.horizontalCenter;MyText{text: "The latitude and longitude:";fontSize: s;fontColor: b1;}}Row{//经纬度显示
                anchors.horizontalCenter: parent.horizontalCenter;MyText{id:coordinateShow;text: "";}}

作者:狐狸家的鱼

本文链接:https://www.cnblogs.com/suRimn/p/9963221.html

声明:如需转载请联系作者或者附上原文链接

转载于:https://www.cnblogs.com/suRimn/p/9963221.html

ArcGIS for qml - 地址地标转换为经纬度(地理编码)相关推荐

  1. ip转经纬度 php源码_php编程之如何输入地址自动转换为经纬度

    对于一些地图或地理位置的显示,通常要用到经纬度来表示,也就是用户输入地址之后,系统能够根据用户输入的位置信息进行经纬度的转换,那么这在技术上该如何实现呢?下面就来为大家简单介绍一下重点部分的代码实现, ...

  2. Arcgis javascript那些事儿(十七)——地理编码服务的发布与使用

    一.引言 地理编码是按照主要是地理位置描述与地理坐标的相互转换,主要包括地理编码与反地理编码. 地理编码指的是根据地名获取位置信息: 反地理编码指的是根据位置信息获取地名: 这个的使用我们要根据需求来 ...

  3. 使用高德地图api批量将地址转换为经纬度

    有时候需要将一些地址信息转换为经纬度信息,在echarts地图上展示,一下代码可以批量将地址转换为经纬度. 如果没有安装requests或openpyxl 使用: pip install reques ...

  4. 基于CLGeocoder - 地理编码

    iOS中CoreLocatio框架中的CLGeocoder为我们提供了地理编码方法: 首先需要导入框架 #import <CoreLocation/CoreLocation.h> 地理编码 ...

  5. 谷歌地图开发:地理编码和反地理编码

    谷歌地图Geocoding说明:内容主要来自谷歌官网的文档,谷歌地图android api地理和反地理编码反应迟钝内容有时不准确,这里使用的googlemap的webapi接口.嗯,需要vpn这个不多 ...

  6. 谷歌地图JavaScript API第3版 地理编码服务

    地理编码服务 概观 地理编码请求 地理编码响应 地理编码结果 地址组件类型 状态代码 反向地理编码 视口偏置 区码偏置 概观 地理编码地址(如"1600剧场百汇,山景,CA")转换 ...

  7. 百度地图 雷达/地理编码 功能使用

    最近一直在优化软件的bug.. 然后后面可能又要大改.. 所以趁这两天有时间赶紧码两篇博文..=.= 地图功能可以说是现在APP中最常用的功能- 呃.. 之一..  不管是电商,社交,o2o,b2c, ...

  8. Google Geocoding API---地理编码与反向地理编码

    什么是地理编码 地理编码是将地址(如"1600 Amphitheatre Parkway, Mountain View, CA")转换为地理坐标(如纬度 37.423021 和经度 ...

  9. Android高德地图的使用,狠详细!手把手!(地图+定位+逆地理编码+输入提示+Poi搜索)

    最近项目用到高德地图,因此来写一篇文章理一下高德的使用步骤方法,希望对大家有用! ##1.注册+配置 废话不多说,要使用高德地图首先要去高德开放平台注册成为开发者(http://lbs.amap.co ...

最新文章

  1. 服气!3小时竟能写出风靡全球的小游戏,还顺手就赚的盆满钵满
  2. 在openshift上自定义node.js的版本
  3. caffe matlab 提取全链接层特zheng
  4. STL之Deque的使用方法
  5. CentOS7中多台服务器配置SSH免密钥登录
  6. 对话阿里云李飞飞:下一代企业级数据库6大技术方向
  7. SAP Cloud Platform integration上创建一个最简单的iFlow
  8. 【渝粤题库】国家开放大学2021春2246社会工作概论题目
  9. 应用上云2小时烧掉近50万,创始人:差点破产,简直噩梦
  10. 都在讲Redis主从复制原理,我来讲实践总结
  11. c 初始化char**_C/C++内存模型
  12. JMH 性能测试框架
  13. spring boot 2.0.3+spring cloud (Finchley)1、搭建服务注册和发现组件Eureka 以及构建高可用Eureka Server集群...
  14. 橘子游戏平台_腾讯游戏主播认证名单公布,唯独张大仙缺席
  15. 什么叫显示动力学_ansys workbench的显示动力学分析的结束时间是指什么?怎么确定?速度载荷是指刚和碰撞物接触时的速度吗?...
  16. 在MFC程序中使用XML文件配置工具栏
  17. ddos是攻击服务器还是网站,服务器遭到DDoS攻击选高防IP还是CDN?
  18. 积分商城消费系统定制
  19. 麻省理工学院——人工智能公开课总结02
  20. Android 9.0 蓝牙电话BluetoothHeadsetClient

热门文章

  1. python_xlsxwriter模块
  2. 关于性能测试几个名词概念的说明
  3. Linux route
  4. oracle用户创建及权限设置
  5. oracle 操作表
  6. 分享一些国外推广的站点
  7. [转]asp.net文件下载方法...
  8. 经济危机下企业倒闭的真相
  9. GUI(三)一个菜单的程序
  10. python中nomodulenamed怎么解决_关于 python ImportError: No module named 的问题