浅析iServer地址匹配服务

2024-02-25 10:32

本文主要是介绍浅析iServer地址匹配服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者 小舜

iServer迎来9D版本重大更新,其中一个新功能就是地址匹配服务就是我们熟悉的正反地理编码功能,今天我们就来简单了解下这个新功能。
  
###发布地址匹配服务

想要使用地理编码的功能首先我们需要发布一个地址匹配服务,我们以iServer产品包中的示范数据(iServer所在目录/sample/data/AddressMatch/BeijingAddress.smwu)为例,登入iServer服务管理页面,选择快速发布服务,发布工作空间,勾选发布地址匹配服务进入详细配置页面。如下图所示:
这里写图片描述
其中*号参数为必填
数据字典:地址字典文件路径,后缀为“.dct”。地址字典文件中规定了中文分词规则,分词是把中文的汉字序列切分成有意义的词,例如:我是一个学生,分词后的结果:我/是/一个/学生。地址字典就是这些有意义的词的集合。SuperMap iServer 内置地址字典,您也可以通过 SuperMap iobject Java 为您的数据定制地址字典。iServer的默认字典路径为iServer所在目录/webapps/WEB-INF/config/addressMatchDictionary.dct
数据源,数据集:分别设置要做编码的数据源和数据集。
查询字段:设置编码可用来参与地址匹配的字段,最终返回的地点名称与设置的字段顺序相反,可设置多个。
查询半径:用于设置查询范围,设置后用户将获得指定半径内的结果。使用反向地址匹配时有效。单位为米。
索引目录:用来生成索引的目录。默认就行
过滤字段:设置过滤字段,使用地址匹配设置过滤参数(如果需要)将是该字段中的某一个或多个值
EPSG Code:指定索引投影
线程池大小:线程缓冲池大小。默认就行

发布成功后,你还可以在服务管理页面进行配置修改,特别注意的是更新索引功能耗时较长,建议更新索引时段选在深夜。
###使用正向地址匹配API
iServer提供rest api接口,例如ip:iserver/services/addressmatch-BeijingAddress/restjsr/v1/address/geocoding 可以直接通过http请求完成,iclient 9D for javascript也封装有对应的接口,我们以javascript接口为例实现地址匹配相关功能

var addressUrl='ip:iserver/services/addressmatch-BeijingAddress/restjsr/v1/address'
var addressMatchService = L.supermap.addressMatchService(addressUrl);

代码中使用iclient 9D for javascript leaflet版初始化了一个地址匹配服务,下面我们着重介绍下参数

var geoCodeParam=new  SuperMap.GeoCodingParameter(options)
addressMatchService.code(geoCodeParam, callback);

其中options参数是个对象,包含以下属性
address string类型 地点关键词。
filters Array类型 过滤字段,限定查询区域。
fromIndex number类型 设置返回对象的起始索引值。
maxReturn string类型 最大返回结果数。
prjCoordSys string类型 查询结果的坐标系。
toIndex number类型 设置返回对象的结束索引值。
成功后回调函数返回的结果如下
这里写图片描述
*其中score代表匹配度。

###使用反向地址匹配API
同样的我们给定一个坐标位置就可以反向匹配出该位置的位置信息

var geoDecodeParam=new  SuperMap.GeoDecodingParameter(options)
addressMatchService.decode(geoDecodeParam, callback);

options参数如下
filters Array 过滤字段,限定查询字段值。
fromIndex number 设置返回对象的起始索引值。
geoDecodingRadius number 查询半径。
maxReturn number 最大返回结果数
prjCoordSys string 查询结果的坐标系。
toIndex number 设置返回对象的结束索引值。
x number 查询位置的横坐标。
y number 查询位置的纵坐标。
是不是非常简单 赶紧动手试下吧!

这篇关于浅析iServer地址匹配服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745204

相关文章

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy