配置地图服务提供者 |
SuperMap iServer 支持以下类型的地图服务提供者:
配置一个 UGC 地图服务提供者,如下所示:
<provider name="ugcMapProvider1" class="com.supermap.services.providers.UGCMapProvider"> <config class="com.supermap.services.providers.UGCMapProviderSetting"> <outputPath>../webapps/iserver/output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <workspacePath>server=../samples/data/World/World.sxwu;password=supermap</workspacePath> <cacheVersion>4.0</cacheVersion> <useCompactCache>false</useCompactCache> <multiThread>true</multiThread> <!-- 是否禁用扩大查询功能 -->
<inflatDisabled>true</inflatDisabled>
<poolSize>0</poolSize> <preferedPNGType>PNG</preferedPNGType> <queryExpectCount>1000</queryExpectCount> <leftTopCorner> <x>-180.0</x> <y>90.0</y> </leftTopCorner> <!-- 设置排除字段 -->
<excludedFieldsInMaps> <com.supermap.services.providers.ExcludedFieldsInMap> <mapName>World</mapName> <excludedFieldsInLayers> <com.supermap.services.providers.ExcludedFieldsInLayer> <layerName>Captial@World</layerName> <excludedFields>SMID,NAME</excludedFields> </com.supermap.services.providers.ExcludedFieldsInLayer> </excludedFieldsInLayers> </com.supermap.services.providers.ExcludedFieldsInMap> </excludedFieldsInMaps> </config> </provider>
其中<provider>中的 class 标识的是 UGC 服务提供者的实现类,<config>中的 class 标识的是 UGC 服务提供者对应的配置类,即 UGCMapProviderSetting ,<config>中的内容是 UGCMapProviderSetting 对应的配置项:
<workspacePath>server=../samples/data/World/World.sxwu;password=supermap</workspacePath>
此外,工作空间路径支持从环境变量和系统配置文件中读取。可写为:
<workspacePath>server=${datapath1}/World.sxwu;password=supermap</workspacePath>详细说明请参见:预设本地工作空间路径
其中,com.supermap.services.providers.ExcludedFieldsInMap、com.supermap.services.providers.ExcludedFieldsInLayer为字段排除设置实现类。<mapName>为地图名称,<layerName>为数据集名称,<excludedFields>指定排除的字段。
SuperMap iServer 也支持 Oracle 及 SQL Server 数据库型的工作空间作为服务提供者。需要提供的参数如表1所示,没有特殊说明表示两种类型都需要该参数。
表1 数据库型工作空间信息设置参数
参数名称 | 描述 |
type | 工作空间的类型,目前支持的数据库型工作空间为 Oracle 工作空间和 SQL Server 工作空间,其值分别为 ORACLE 和 SQL。ORACLE 表示工作空间保存在 oracle 数据库中,SQL 表示工作空间保存在 SQL Server 数据库中。 |
name | 工作空间在数据库中的名称。 |
username | 用来登录数据库的用户名。 |
password | 用来登录数据库的密码。 |
server | 服务器名称。对于 Oracle 数据库,其服务器名为其 TNS 服务名称;对于 SQL Server 数据库,其服务器名为其系统 DSN(Database System Name)名称 |
database | 数据库名称。 |
driver | 当采用 ODBC 连接时的驱动程序名称。只有 SQL Server 数据库使用 ODBC 连接,其驱动程序名可为 SQL Server 或 SQL Native Client。 |
<workspacePath>type=ORACLE;name=testOralce;username=cq;password=cq;server=ISERVER;database=iserver</workspacePath>
<workspacePath>type=SQL;name=testSQL;username=sa;password=iserver;server=ISERVICE\SQL2005;driver= SQL Server;database=iserver</workspacePath>
此外,多个<provider>可以绑定为一个整体,即作为一个<providerSet>向服务组件(<component>)提供服务,详见通过 XML 文件配置服务提供者集合。<provider> 和 <providerSet> 在配置文件中的结构如下所示:
<server> ... <application> ... <providerSets> ... <providerSet> ... </providerSet> </providerSets> <providers> ... <provider> ... </provider> </providers> </application> </server>
配置 REST 服务提供者在<provider>节点中进行:
<provider name="restMapProvider1" class="com.supermap.services.providers.RESTMapProvider"> <config class="com.supermap.services.providers.RESTMapProviderSetting"> <restServiceRootURL>http://localhost:8090/iserver/services/rest</restServiceRootURL> <token>GsXST0cE0CumxQUFXBX7Oopin4<token> </config> </provider>
其中<provider>中的 class 标识的是 REST 服务提供者的实现类,<config>中的 class 标识的是 REST 服务提供者对应的配置类,即 RESTMapProviderSetting ,<config>中的内容是 RESTMapProviderSetting 对应的配置项:
超图云服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider name="CloudMapProvider1" class="com.supermap.services.providers.CloudMapProvider"> <config class="com.supermap.services.providers.CloudMapProviderSetting"> <outputPath>../webapps/iserver/output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <servicesUrl>http://t0.supermapcloud.com/FileService/image</servicesUrl> <cacheEnabled>true</cacheEnable> </config> </provider>
其中<provider>中的 class 标识的是 超图云 服务提供者的实现类,<config>中的 class 标识的是 超图云 服务提供者对应的配置类,即 CloudMapProviderSetting,<config>中的内容对应的是 CloudMapProviderSetting 对应的配置项:
FastDFS 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.FastDFSTileProvider" enabled="true" name="fastDfs"> <config class="com.supermap.services.providers.FastDFSTileProviderSetting"> <fdfsTrackers> <string>192.168.112.251:22122</string> </fdfsTrackers> <fdhtGroups> <string-array> <string>192.168.112.250:11411</string> </string-array> </fdhtGroups> </config> </provider>
其中<provider>中的 class 标识的是 FastDFS 服务提供者的实现类,<config>中的 class 标识的是 FastDFS 服务提供者对应的配置类,即 FastDFSTileProviderSetting,<config>中的内容对应的是 FastDFSTileProviderSetting 对应的配置项:
GDP 地图服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.GDPMapProvider" enabled="true" name="gdpMapProvider-"> <config class="com.supermap.services.providers.GDPMapProviderSetting"> <cacheVersion>5.0</cacheVersion> <filesPath>F:\SuperMap\China_58b994e9-5856-4a10-a0dc-0e0e177d7962\7_0000_0000_192.168.120.42_2014_03_03_14_01_56.zip</filesPath> <dpi>96.0</dpi> <tileSize>256</tileSize> <zoom0ScaleDenator>5.916587109091312E8</zoom0ScaleDenator> </config> </provider>
其中<provider>中的 class 标识的是 GDP 服务提供者的实现类,<config>中的 class 标识的是 GDP 服务提供者对应的配置类,即 GDPMapProviderSetting,<config>中的内容对应的是 GDPMapProviderSetting 对应的配置项:
MongoDB 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.MongoDBTileProvider" enabled="true" name="mongoDBMapProvider-China"> <config class="com.supermap.services.providers.MongoDBTileProviderSetting"> <serverAdresses> <string>localhost:27017</string> </serverAdresses> <mapName>China</mapName> <tilesetName>1181328118</tilesetName> <database>smtiles</database> <username>iserver</username> <password>iserver</password> </config> </provider>
其中<provider>中的 class 标识的是 MongoDB 服务提供者的实现类,<config>中的 class 标识的是 MongoDB 服务提供者对应的配置类,即 MongoDBTileProviderSetting,<config>中的内容对应的是 MongoDBTileProviderSetting 对应的配置项:
OTS 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.OTSTileProvider" enabled="true" name="ots-map"> <config class="com.supermap.services.providers.OTSTileProviderSetting"> <outputPath>D:\SuperMap\SuperMapiServer8C(2017)\webapps\iserver\output</outputPath> <outputSite>http://{ip}:{port}/iserver/output/</outputSite> <nodeName>cn-hangzhou</nodeName> <instanceName>tileStore</instanceName> <accessKeyId>accessKeyId</accessKeyId> <accessKeySecret>accessKeySecret</accessKeySecret> <fromPublic>true</fromPublic> </config> </provider>
其中<provider>中的 class 标识的是 OTS 服务提供者的实现类,<config>中的 class 标识的是 OTS 服务提供者对应的配置类,即 OTSTileProviderSetting,<config>中的内容对应的是OTSTileProviderSetting 对应的配置项:
SMTiles 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider name="smtilesMapProvider1" class="com.supermap.services.providers.SMTilesMapProvider"> <config class="com.supermap.services.providers.SMTilesMapProviderSetting"> <filePath>../webapps/iserver/output/sqlite/World_-411043745_256X256_PNG.smtiles</filePath> </config> </provider>
其中<provider>中的 class 标识的是 SMTiles 地图服务提供者的实现类,<config>中的 class 标识的是 SMTiles 地图服务提供者对应的配置类,即 SMTilesMapProviderSetting,<config>中的内容对应的是 SMTilesMapProviderSetting 对应的配置项:
SVTiles 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider name="svtilesMapProvider1" class="com.supermap.services.providers.SVTilesMapProvider"> <config class="com.supermap.services.providers.SVTilesMapProviderSetting"> <filePath>../webapps/iserver/output/sqlite/World_1715141636_256X256.svtiles</filePath> </config> </provider>
其中<provider>中的 class 标识的是 SVTiles 地图服务提供者的实现类,<config>中的 class 标识的是 SVTiles 地图服务提供者对应的配置类,即 SVTilesMapProviderSetting,<config>中的内容对应的是 SVTilesMapProviderSetting 对应的配置项:
UGCV5 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.UGCV5TileProvider" enabled="true" name="ugcv5-China"> <config class="com.supermap.services.providers.UGCV5TileProviderSetting"> <configFile>../webapps/iserver/output/cache/China/China.sci</configFile> </config> </provider>
其中<provider>中的 class 标识的是 UGCV5 服务提供者的实现类,<config>中的 class 标识的是 UGCV5 服务提供者对应的配置类,即 UGCV5TileProviderSetting,<config>中的内容对应的是 UGCV5TileProviderSetting 对应的配置项:
配置 WMS 服务提供者在<provider>节点中进行:
<!-- WMS 地图服务提供者示例,使用远程的 WMS 服务作为数据来源。--> <provider name="wmsMapProvider" class="com.supermap.services.providers.WMSMapProvider"> <config class="com.supermap.services.providers.WMSMapProviderSetting"> <serviceRootURL>http://localhost:7070/geoserver/wms</serviceRootURL> <username></username> <password></password> <version>1.1.1</version>
<reverseLayerOrder>false</reverseLayerOrder> </config> </provider>
其中<provider>中的 class 标识的是 WMS 服务提供者的实现类,<config>中的 class 标识的是 WMS 服务提供者对应的配置类,即 WMSMapProviderSetting ,<config>中的内容是 WMSMapProviderSetting 对应的配置项:
配置 WMTS 服务提供者在<provider>节点中进行:
<!-- WMTS 地图服务提供者示例,使用远程的 WMTS 服务作为数据来源。--> <provider name="wmtsMapProvider" class="com.supermap.services.providers.WMTSMapProvider"> <config class="com.supermap.services.providers.WMTSMapProviderSetting"> <serviceRootURL>http://server:7070/geoserver/wmts</serviceRootURL> <username></username> <password></password> <version>1.0.0</version> <dpi>90.7142857142857</dpi> <layers> <com.supermap.services.providers.WMTSMapLayer> <identifier>world:Countries</identifier> <tileMatrixSet>EPSG:4610</tileMatrixSet> </com.supermap.services.providers.WMTSMapLayer> <com.supermap.services.providers.WMTSMapLayer> <identifier>nurc:Img_Sample</identifier> <tileMatrixSet>EPSG:900913</tileMatrixSet> </com.supermap.services.providers.WMTSMapLayer> </layers> <reverseTopLeftCorner>EPSG:4610</reverseTopLeftCorner> <reverseBoundingBox>urn:ogc:def:crs:EPSG::4610</reverseBoundingBox> <cacheEnabled>true</cacheEnabled> <resolutions>0.01903568804664224,0.00951784402332112,......</resolutions> </config> </provider>
其中<provider>中的 class 标识的是 WMTS 服务提供者的实现类,<config>中的 class 标识的是 WMTS 服务提供者对应的配置类,即 WMTSMapProviderSetting ,<config>中的内容是 WMTSMapProviderSetting 对应的配置项:
BingMaps 服务提供者在<provider>节点中进行。具体配置方式如下:
<provider name="BingMapsMapProvider1" class="com.supermap.services.providers.BingMapsMapProvider"> <config class="com.supermap.services.providers.BingMapsMapProviderSetting"> <outputPath>../webapps/iserver/output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <apiKey>fdskjkfdsk</apiKey> <bingmapsRootUrl>http://localhost:9876/bingmaps/</bingmapsRootUrl> <imagerySet>Road</imagerySet> <mapVersion>v1</mapVersion> <cacheEnabled>true</cacheEnable> </config> </provider>
其中<provider>中的 class 标识的是 BingMaps 服务提供者的实现类,<config>中的 class 标识的是 BingMaps 服务提供者对应的配置类,即 BingMapsMapProviderSetting,<config>中的内容是 BingMapsMapProviderSetting 对应的配置项:
Google 地图地图服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.GoogleMapsMapProvider" enabled="true" name="googlemap"> <config class="com.supermap.services.providers.GoogleMapsMapProviderSetting"> <outputPath/> <outputSite/> <cacheEnabled>false</cacheEnabled> <googleMapLanguage>zh-cn</googleMapLanguage> <googleMapCryptoKey>abcdefghijklmn=</googleMapCryptoKey> <googleMapClientID>myClientID</googleMapClientID> <googleMapWidth>400</googleMapWidth> <googleMapHeight>400</googleMapHeight> <googleProxyAddress>127.0.0.1</googleProxyAddress> <googleProxyPort>8787</googleProxyPort> <useTileImage>true</useTileImage> </config> </provider>
其中<provider>中的 class 标识的是 Google 地图服务提供者的实现类,<config>中的 class 标识的是 Google 地图服务提供者对应的配置类,即 GoogleMapsMapProviderSetting,<config>中的内容是 GoogleMapsMapProviderSetting 对应的配置项:
百度地图地图服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider name="baiduMapProvider1" class="com.supermap.services.providers.BaiduMapProvider"> <config class="com.supermap.services.providers.BaiduMapProviderSetting"> <outputPath>../webapps/iserver/output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <mapUrl>http://online0.map.bdimg.com/tile/?qt=tile&x={x}&y={y}&z={z}&styles=pl</mapUrl> <mapName>true</mapName> <cacheEnabled>true</cacheEnable> </config> </provider>
其中<provider>中的 class 标识的是 百度地图地图 服务提供者的实现类,<config>中的 class 标识的是百度地图地图 服务提供者对应的配置类,即 BaiduMapProviderSetting,<config>中的内容是 BaiduMapProviderSetting 对应的配置项:
OpenStreetMap 地图服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider name="openStreetMapProvider1" class="com.supermap.services.providers.OpenStreetMapProvider"> <config class="com.supermap.services.providers.OpenStreetMapProviderSetting"> <outputPath>../webapps/iserver/output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <mapUrl>http://a.tile.openstreetmap.org/{z}/{x}/{y}.png</mapUrl> <mapName>true</mapName> <cacheEnabled>true</cacheEnable> </config> </provider>
其中<provider>中的 class 标识的是 OpenStreetMap 地图服务提供者的实现类,<config>中的 class 标识的是百度地图地图 服务提供者对应的配置类,即 OpenStreetMap ProviderSetting,<config>中的内容是 OpenStreetMapProviderSetting 对应的配置项:
天地图服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider name="tiandituMapProvider1" class="com.supermap.services.providers.TiandituMapProvider"> <config class="com.supermap.services.providers.TiandituMapProviderSetting"> <outputPath>../webapps/iserver/output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <servicesUrl>http://t5.tianditu.cn</servicesUrl> <cacheEnabled>true</cacheEnable> </config> </provider>
其中<provider>中的 class 标识的是 天地图 服务提供者的实现类,<config>中的 class 标识的是 天地图 服务提供者对应的配置类,即 TiandituMapProviderSetting,<config>中的内容是 TiandituMapProviderSetting 对应的配置项:
ArcGIS REST 服务提供者的配置在<provider>节点中进行。配置方式如下:
<provider class="com.supermap.services.providers.ArcGISRestMapProvider" enabled="true" name="arcgis-Countries2"> <config class="com.supermap.services.providers.ArcGISRestMapProviderSetting"> <restServiceRootURL>http://localhost:6080/arcgis/rest/services/mytest/Countries/MapServer</restServiceRootURL> <cacheEnabled>false</cacheEnabled> <token>_jLYzPo-SEJRXfB3Q-W2EearDDnaIZTqQqUfju4GD8Owd6PIiUVmabUJiSdZeX1V</token> <httpReferer>ISERVER</httpReferer> </config> </provider>
其中<provider>中的 class 标识的是 ArcGIS REST 地图服务提供者的实现类,<config>中的 class 标识的是 ArcGIS REST 地图服务提供者对应的配置类,即 ArcGISRestMapProviderSetting,<config>中的内容对应的是 ArcGISRestMapProviderSetting 对应的配置项:
TPK 服务提供者的配置在<provider>节点中进行。配置方式如下:
<provider class="com.supermap.services.providers.TPKMapProvider" enabled="true" name="tpk-map1"> <config class="com.supermap.services.providers.TPKMapProviderSetting"> <tilePackagePath>../samples/data/map1.tpk</tilePackagePath> </config> </provider>
其中<provider>中的 class 标识的是 TPK 地图服务提供者的实现类,<config>中的 class 标识的是 TPK 地图服务提供者对应的配置类,即 TPKMapProviderSetting,<config>中的内容对应的是 TPKMapProviderSetting 对应的配置项:
GeoPackage 服务提供者的配置在<provider>节点中进行。配置方式如下:
<provider class="com.supermap.services.providers.GeoPackageMapProvider" enabled="true" name="gpkgMap-map"> <config class="com.supermap.services.providers.GeoPackageMapProviderSetting"> <outputPath>F:\dev\trunk\etc\iserver-debug\src\test\webapps\iserver\output</outputPath> <outputSite>http://localhost:8090/iserver/output/</outputSite> <filePath>E:/data/geopackage/map.gpkg</filePath> <defaultMapPrjCoordSys>0</defaultMapPrjCoordSys> <queryExpectCount>1000</queryExpectCount> <axisPositiveDirection>RightUp</axisPositiveDirection> <originalPoint>-180,-90</originalPoint> </config> </provider>
其中<provider>中的 class 标识的是 GeoPackage 地图服务提供者的实现类,<config>中的 class 标识的是 GeoPackage 地图服务提供者对应的配置类,即 GeoPackageMapProviderSetting,<config>中的内容对应的是 GeoPackageMapProviderSetting 对应的配置项:
ZXYTiles 服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.ZXYTilesMapProvider" enabled="true" name="zxytest"> <config class="com.supermap.services.providers.ZXYTilesMapProviderSetting"> <outputPath>../../webapps/iserver/output</outputPath> <outputSite>http://{ip}:{port}/iserver/output/</outputSite> <filePath>E:/data/ZXYTilesSample.zip</filePath> </provider>
其中<provider>中的 class 标识的是 ZXYTiles 地图服务提供者的实现类,<config>中的 class 标识的是 ZXYTiles 地图服务提供者对应的配置类,即 ZXYTilesMapProviderSetting,<config>中的内容对应的是 ZXYTilesMapProviderSetting 对应的配置项:
ArcGIS 缓存服务提供者的配置在<provider>节点中进行。具体配置方式如下:
<provider class="com.supermap.services.providers.ArcGISCacheMapProvider" enabled="true" name="agscache-WorldCitiesPopulation">
<config class="com.supermap.services.providers.ArcGISCacheMapProviderSetting">
<outputPath>../../webapps/iserver/output</outputPath>
<outputSite>http://{ip}:{port}/iserver/output/</outputSite>
<configFile>E:/data/arcgiscache/sample/World Cities Population/conf.xml</configFile>
</config>
</provider>
其中<provider>中的 class 标识的是 ArcGIS 缓存地图服务提供者的实现类,<config>中的 class 标识的是 ArcGIS 缓存服务提供者对应的配置类,即 ArcGISCacheMapProviderSetting,<config>中的内容对应的是 ArcGISCacheMapProviderSetting 对应的配置项: