arcgis engine 调用arcgis server服务
首先需要添加两个引用:
using ESRI.ArcGIS.GISClient;
using ESRI.ArcGIS.DataSourcesRaster;
/// <summary>
/// arcgis engine 调用arcgis server服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 符号是否随比例尺变化ToolStripMenuItem_Click(object sender, EventArgs e)
{
//获得服务对象名称 IAGSServerObjectName pServerObjectName = GetMapServer("http://services.arcgisonline.com/ArcGIS/services", "ESRI_Imagery_World_2D", false);
IName pName = (IName)pServerObjectName;
//访问地图服务
IAGSServerObject pServerObject = (IAGSServerObject)pName.Open();
IMapServer pMapServer = (IMapServer)pServerObject; ESRI.ArcGIS.Carto.IMapServerLayer pMapServerLayer = new ESRI.ArcGIS.Carto.MapServerLayerClass();
//连接地图服务 pMapServerLayer.ServerConnect(pServerObjectName, pMapServer.DefaultMapName);
//添加数据图层 axMapControl1.AddLayer(pMapServerLayer as ILayer); axMapControl1.Refresh();
}
/// <summary>
/// 获得地图服务的方法,返回IAGSServerObjectName
/// </summary>
/// <param name="pHostOrUrl"></param>
/// <param name="pServiceName"></param>
/// <param name="pIsLAN"></param>
/// <returns></returns>
public IAGSServerObjectName GetMapServer(string pHostOrUrl, string pServiceName, bool pIsLAN)
{ //设置连接属性
IPropertySet pPropertySet = new PropertySetClass();
if (pIsLAN)
pPropertySet.SetProperty("machine", pHostOrUrl);
else
pPropertySet.SetProperty("url", pHostOrUrl); //打开连接 IAGSServerConnectionFactory pFactory = new AGSServerConnectionFactory();
//Type factoryType = Type.GetTypeFromProgID(
// "esriGISClient.AGSServerConnectionFactory");
//IAGSServerConnectionFactory agsFactory = (IAGSServerConnectionFactory)
// Activator.CreateInstance(factoryType);
IAGSServerConnection pConnection = pFactory.Open(pPropertySet, 0); //Get the image server.
IAGSEnumServerObjectName pServerObjectNames = pConnection.ServerObjectNames;
pServerObjectNames.Reset();
IAGSServerObjectName ServerObjectName = pServerObjectNames.Next();
while (ServerObjectName != null)
{
if ((ServerObjectName.Name.ToLower() == pServiceName.ToLower()) &&
(ServerObjectName.Type == "MapServer"))
{ break;
}
ServerObjectName = pServerObjectNames.Next();
} //返回对象
return ServerObjectName;
}
arcgis engine 调用arcgis server服务的更多相关文章
- ArcGIS 9.3下载,包含ArcGIS Desktop、ArcGIS Engine、ArcGIS Server、ArcSDE、workstation
KeyWord:ESRI ArcGIS 9.3 Desktop Server Engine ArcEngine ArcIMS ArcSDE Workstation ECP Lisence Crack ...
- arcgis jsapi 调用google地区服务
做地理信息系统(GIS)项目,除了实现功能用户体验度要好之外,最重要的是地图渲染效果更要好.很多时候苦于数据的完整性和对于配图的审美观,程序猿们都很难配出好看的地图效果.基于上述一般直接调用googl ...
- ArcGIS Engine 连接SQL Server并建立关联
IWorkspaceFactory pWFactory=new OLEDBWorkspaceFactory(); IPropertySet pPropertySet=new PropertySe ...
- ArcGIS Engine开发前基础知识(1)
ArcGIS二次开发是当前gis领域的一项重要必不可少的技能.下面介绍它的基本功能 一.ArcGIS Engine功能 在使用之前首先安装和部署arcgis sdk,(在这里不在赘述相关知识)可以实现 ...
- ArcGIS Engine开发之旅05---空间数据库
原文:ArcGIS Engine开发之旅05---空间数据库 1 Geodatabase概念 Geodatabase是ArcInfo8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统 ...
- ArcGIS Engine开发之旅01---产品组成、逻辑体系结构
原文:ArcGIS Engine开发之旅01---产品组成.逻辑体系结构 ArcGIS Engine 由两个产品组成: 面向开发人员的软件开发包(ArcGIS Engine Developer k ...
- OpenLayers调用arcgis server发布的地图服务
有两种方式可以调用arcgis server发布的地图服务,一种是rest,一种是wms. 地图的投影为900913,arcgis server为10.0版本,地图服务的空间参考为3857. 与 ...
- OpenLayers调用ArcGIS Server发布的WFS服务
OpenLayers调用ArcGIS Server发布的WFS服务 原创: 蔡建良 2013-08-20 一. 开发环境 1) Openlayers2.13+arcgis server9.3 2) W ...
- C#中winform下利用ArcEngine调用ArcGIS Server发布的服务 AE9.3
主要使用了AE中的IAGSServerOject接口及IMapServer接口.Private void GetServerTest_Click(object sender, EventArgs e) ...
随机推荐
- PHP内核的学习--创建PHP扩展
开始看PHP内核也有一段时间了,现在开始边学边总结,今天就总结一下如何创建自己的PHP扩展. 我的环境如下: 系统:Ubuntu 14.04 php版本:5.5.19 参考摘录:用C/C++扩展你的P ...
- JavaScript的学习--JavaScript设计模式的总结
这篇博客只是自己对设计模式的理解的备忘~ 看完了<JavaScript设计模式>这本书,一直没有写博客记录一下,最近抽出时间来重读了一下,就顺便记录一下~ 如果你只是想粗略了解一下Java ...
- CSS好看的按钮
好看的按钮 <style> .btn { BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #7b9ebd ...
- Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
<Windows Azure Platform 系列文章目录> Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ...
- C++二维码相关库编译
一.瞎想 坐在地铁上闲来无聊,突然想到了二维码,顺手就百度了下相关的资料,目前C++二维码相关的库不多,也就zbar(开源中国上下了半天也没下载下来).zxing,不过这两个库据说都是解析二维码的,不 ...
- Web实时通信
学习SignalR,可以从<实时数据显示--SignalR实例演示>http://www.cnblogs.com/insus/p/5619422.html 开始. 此篇只是把数据库的数据实 ...
- Oracle中添加新用户并赋予权限
--创建一个新用户NewUser 并设置密码为1 create user NewUser identified by 1; --为该用户赋予权限 grant connect , Resource to ...
- 基于.Net Framework 4.0 Web API开发(3):ASP.NET Web APIs 异常的统一处理Attribute 和统一写Log 的Attribute的实现
概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是项目,总有异常发生,本节就来谈谈API的异常 ...
- jquery选择器(综合)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- mysql和oracle jdbc连接
加载驱动. Class.forName("oracle.jdbc.driver.OracleDriver"); 1 创建连接. Connection con = DriverMan ...