一、 WMS相关的内容
1. 使用openlayers来调用ArcGIS Server 9.3发布的WMS服务
第一步:创建服务的同时勾选wms服务,并取出wms的web  access路径
第二步:在ArcCatalog中添加路径获取wms服务 查看图层的参数name
当然,当你增加了wms服务之后。你也可以查看wms地图,如下图所示:
从上面可以得到结论,ArcGIS Server发布的WMS服务正常。
第三步:下载openlayers2.8 解压 以wms页面为例,在D:\temp\OpenLayers-2.8\examples目录下到wms.html文件进行修改,修改里面的参数如下。注意的是,图层名字直接使用0,1,2等来表达。如下图所示:
试运行一下。效果如下图所示:
当然也可以增加多个图层。直接在后面增加就可以了,如下图所示。
2. 使用其来添加ArcGIS Server 的rest服务,
到文件D:\temp\OpenLayers-2.8\examples\arcgis93rest.html并打开编辑,改为rest服务 注意 export
在Java 环境下,使用同样的方法来实现调用WMS和Rest服务,使用ArcGIS Server Manager来管理服务,并选择WMS服务选择项,使用ArcCatalog来测试服务运行状态及相关参数,要注意的就是图层的名称,在图层属性中可以查询得到,如下图所示:
3、使用其来添加ArcGIS Server的Kml服务
在Rest服务中创建KML文件,如:jamespc/ArcGIS/rest/services/EditingFeatures/MapServer/generatekml
把服务的一个图层或多个图层造成一个kmz文件。
保存成一个kmz文件,如下图所示:
并转换成kml文件。编辑kml-layer.html文件,并修改
4、ArcGIS Server Flex API调用WMS 服务
通过扩展 DynamicMapServiceLayer来调用WMS服务,相关代码如下:
////////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="www.adobe/2006/mxml"
    xmlns:esri="www.esri/2008/ags"
    xmlns:samples="com.esri.ags.samples.*"
    horizontalAlign="center"
    fontFamily="Verdana" fontWeight="bold" fontSize="12"
    pageTitle="Extending DynamicMapServiceLayer using ArcGIS API for Flex"
    styleName="plain">
<!--    Problem:
        How can I extend base layer classes to support other layer types such as
        Open Geospatial Consortium Web Map Services (OGC WMS)?     
    Solution:
        Extend the DynamicMapServiceLayer class. 
        The key method to overwrite is loadMapImage().     
-->
    <mx:Text text="By extending DynamicMapServiceLayer, this application can access dynamic services such as WMS."/>
    <esri:Map>
        <samples:CityStatesWMSLayer/>
    </esri:Map> 
</mx:Application>
///////////////////////////////////////////////////////////////////////////////////////////////
相关CityStatesWMSLayer.as的内容:help.arcgis/en/webapi/flex/samples/index.html
///////////////////////////////////////////////////////////////////////////////////////////////
注意:WMS服务发布后,请求时有个参数LAYERS,这个参数的值就是图层的名字,但是server93发布之后的图层名并不是mxd文档中所看到的图层名,而是被改过了,成了0、1、2、3这样的数字,所以你在访问的时候LAYERS参数要注意了。
查看这个0123可以在catalog里建一个wms服务器,然后就能看到图层名对应的数字了,具体是那一个数字可以使用ArcCatalog查询图层的属性。
二、 关于ArcGIS Server中的WFS服务调用
注意问题:点坐标表达的顺序问题(x,y)还是(y,x)如果这里不注意的话可能出现访问成功但是得不到地理要素的问题可以通过设置配置文件来修改,帮助文档中相关部分,看看就明白了:这个跟你所使用的地理坐标系统所定义的有关系,有些定义其getfeature请求得到的
是坐标如下所示:<gml:Point>    <gml:pos>48.4922165520043 122.630685732366</gml:pos> </gml:Point>
当然也有些坐标定义是基于(x,y)来返回的。要根据实际情况而定:
设置ArcGIS Server服务的WFS属性部分,停止Server的服务,并到ArcGIS Server的安装目录,如:c:\arcgis\server\user\cfg. 到对应的服务的配置文件,在WFS部分增加下面的信息:
<Extension>
<TypeName>WFSServer</TypeName>
<Enabled>true</Enabled>
<Properties>
<AxisOrderWFS11>longlat</AxisOrderWFS11>
<CustomGetCapabilities>false</CustomGetCapabilities>
<EnableTransactions>false</EnableTransactions>
gis字符串是什么<Name> EditingFeatures </Name>
<OnlineResource> jamespc/ArcGIS/services/EditingFeatures/MapServer/WFSServer </OnlineResource>
<AppSchemaURI> jamespc/ArcGIS/services/EditingFeatures/MapServer/WFSServer </AppSchemaURI>
<AppSchemaPrefix> EditingFeatures</AppSchemaPrefix>
</Properties>
<Info>
<WebEnabled>true</WebEnabled>
</Info>
</Extension>
启动服务,这时WFS服务有效,同样你也可以直接使用arccatalog或arcgis server manager来进行相关的设置,如下图所示:
之后,可以通过以下方式进行调用,当然你也可以调用WFS的其他方法来得到结构等相关信息:如果得到请看后面的WFS介绍部分:例如得到表结构:jamespc/ArcGIS/services/EditingFeatures/MapServer/WFSServer?service=WFS&request=GetCapabilities

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。