配置地址匹配服务提供者

配置工作空间为地址匹配服务提供者示例

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

配置地址索引为地址匹配服务提供者示例

  1.     <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.当前仅支持对中文进行匹配,不支持英文