浅析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

相关文章

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

SpringBoot3匹配Mybatis3的错误与解决方案

《SpringBoot3匹配Mybatis3的错误与解决方案》文章指出SpringBoot3与MyBatis3兼容性问题,因未更新MyBatis-Plus依赖至SpringBoot3专用坐标,导致类冲... 目录SpringBoot3匹配MyBATis3的错误与解决mybatis在SpringBoot3如果

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,