配置地址匹配服务提供者
配置工作空间为地址匹配服务提供者示例
<provider class="com.supermap.services.providers.UGCAddressMatchProvider" enabled="true" name="addressmatch-BeijingAddress"> <config class="com.supermap.services.providers.UGCAddressMatchProviderSetting"> <dictionaryPath>./WEB-INF/config/addressMatchDictionary.dct</dictionaryPath> <isTraditional>true</isTraditional> <workspacePath>E:/supermap/data/BeijingAddress/BeijingAddress.smwu</workspacePath> <indexDir>E:/supermap/data/BeijingAddress/index</indexDir> <datasourceName>BeijingAddress</datasourceName> <datasetNames>company</datasetNames> <updateIndex>false</updateIndex> <geoDecodingRadius>500</geoDecodingRadius> <searchFields>NAME,园区名称,ADDRESS,county,city</searchFields> <indexEpsgCode>3857</indexEpsgCode> <binDistance>-1.0</binDistance> <maxReturn>10</maxReturn> <filterFields>city,county,ADDRESS</filterFields> <hour>3</hour> <minute>0</minute> <dayOfWeek>1</dayOfWeek> </config> </provider>
配置地址索引为地址匹配服务提供者示例
-
<provider class="com.supermap.services.providers.UGCAddressMatchProvider" enabled="true" name="addressMatch-index"> <config class="com.supermap.services.providers.UGCAddressMatchProviderSetting"> <isMultiInstance>false</isMultiInstance> <dictionaryPath>./WEB-INF/config/addressMatchDictionary.dct</dictionaryPath> <indexDir>E:\supermap_packages\data\BeijingAddress-new\BeijingAddress\index</indexDir> <poolSize>4</poolSize> <geoDecodingRadius>500.0</geoDecodingRadius> <indexEpsgCode>0</indexEpsgCode> <binDistance>-1.0</binDistance> <maxReturn>-1</maxReturn> <updateIndex>false</updateIndex> <hour>3</hour> <minute>0</minute> </config> </provider>
其中<provider>中的 class 标识的是 UGC 服务提供者的实现类,<config>中的 class 标识的是 UGC 服务提供者对应的配置类,即 UGCAddressMatchProviderSetting ,<config>中的内容是 UGCAddressMatchProviderSetting 对应的配置项:
- <dictionaryPath>:地址字典路径。详见服务提供者配置的参数说明。
- <workspacePath>:该服务提供者所用的工作空间的路径。若工作空间有密码,假设密码为 supermap,则写为:
-
<workspacePath>server=../samples/data/World/World.sxwu;password=supermap</workspacePath>
此外,工作空间路径支持从环境变量和系统配置文件中读取。可写为:
<workspacePath>server=${datapath1}/World.sxwu;password=supermap</workspacePath>
详细说明请参见:预设本地工作空间路径 - <indexDir>:索引目录。当发布工作空间为地址匹配服务时,此参数用于指定生成的地址索引的目录。发布服务时,系统将根据参与地址匹配的数据集中指定字段中的内容建立索引,同时对其进行分词,这一过程是基于传入的字典进行的。您也可以在此输入已有的索引目录,用于发布地址匹配服务。注意,您需要根据期望匹配的字体选择地址字典。简体中文请选择简体地址匹配字典,如 addressMatchDictionary.dct;繁体中文请选择繁体地址匹配字典,如 addressMatchDictionaryTraditionalChinese.dct。
- <datasourceName>:参与地址匹配数据的数据源名称。
- <isTraditional>:是否生成繁体索引,仅支持在使用繁体地址匹配词典时匹配生成。
- <updateIndex>:是否定时更新索引。默认为 false,当设置为 true 时,需要同时设置<hour>、<minute>、<dayOfWeek>三个参数,或同时设置<hour>、<minute>、<updateIndexDate>三个参数。
- <poolSize>:线程缓冲池大小。建议设为与CPU核数相同。
- <geoDecodingRadius>:查询范围,设置后用户将获得指定半径内的结果,使用反向地址匹配时有效,单位与索引的投影系统单位一致。如果查询半径未设置,则使用默认值 -1,表示对整个图层范围内进行查询。以度为单位时,查询半径默认为0.01度;以米为单位时,查询半径默认为500米。
- <searchFields>:查询字段名,即参与地址匹配的字段。
- <indexEpsgCode>:指定索引投影。
- <maxReturn>:显示地址匹配结果的最大数量。
- <filterFields>:设置分组字段,例如“province,city,county”。用户使用地址匹配功能时,将依照设置的字段限定查询的区域。
- <updateIndex>:是否定时自动更新索引。默认为false。
- <hour>:定时更新索引的小时数。当<updateIndex>为true时,参数有效。
- <minute>:定时更新索引的分钟数。当<updateIndex>为true时,参数有效。
- <dayOfWeek>:间隔更新的星期数。例如每周三、周五更新,参数值设置为“3,5”。当<updateIndex>为true时,参数有效。
- <updateIndexDate>:指定更新日期。例如2017年3月5日更新,参数值设置为“2017-03-05 ”。当<updateIndex>为true时,参数有效。
- <binDistance>:创建索引时,各网格之间的距离。-1表示默认值:当数据集的坐标系为地理坐标系时,默认为0.01度;当坐标系为投影坐标系时,默认为1000米
注:
1.使用地址匹配服务时建议所有数据集的投影保持一致
2.当前仅支持对中文进行匹配,不支持英文