ArcObject API 开发(一)

//用户为a,密码为a,为本机arcgisadmin,arcgisuser组的用户,su机器名

ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("a", "a", "su");
 ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection ags_connection;
ags_connection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("su", identity);
ags_connection.Connect();
IServerObjectManager pSOM = ags_connection.ServerObjectManager;

//OverView为发布的地图名称
IServerContext pServerContext = pSOM.CreateServerContext("OverView", "MapServer");

 IMapServer pMapServer = pServerContext.ServerObject as IMapServer;
 IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;
IMap pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName);

IFeatureLayer pFLayer = pMap.get_Layer(0) as IFeatureLayer;
IFeatureClass pFeatureClass = pFLayer.FeatureClass;
Console.WriteLine(pFeatureClass.FeatureCount(null).ToString());

pServerContext.ReleaseContext();

 

 

 

//下面是获取服务器地图显示到winfrom窗口的Picture空件

 ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("a", "a", "su");
            ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection ags_connection;
            ags_connection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("su", identity);
            ags_connection.Connect();
            IServerObjectManager pSOM = ags_connection.ServerObjectManager;
            IServerContext pServerContext = pSOM.CreateServerContext("OverView", "MapServer");

            IMapServer pMapServer = pServerContext.ServerObject as IMapServer;

            IImageType it = pServerContext.CreateObject("esriCarto.ImageType") as IImageType;
            it.Format = esriImageFormat.esriImageJPG;
            it.ReturnType = esriImageReturnType.esriImageReturnMimeData;

            IImageDisplay idisp = pServerContext.CreateObject("esriCarto.ImageDisplay") as IImageDisplay;
            idisp.Height = 400;
            idisp.Width = 500;
            idisp.DeviceResolution = 150;

            IImageDescription pID = pServerContext.CreateObject("esriCarto.ImageDescription") as IImageDescription;
            pID.Display = idisp;
            pID.Type = it;

            IMapServerInfo pMapServerInfo = pMapServer.GetServerInfo(pMapServer.DefaultMapName);
            IMapDescription pMD = pMapServerInfo.DefaultMapDescription;
            IImageResult pMI = pMapServer.ExportMapImage(pMD, pID);

            // do something with the image

            Image imge = byteArrayToImage(pMI.MimeData);
            pictureBox1.Image = imge;
            pServerContext.ReleaseContext();

 

 

 public Image byteArrayToImage(byte[] byteArrayIn)
        {
            MemoryStream ms = new MemoryStream(byteArrayIn);
            Image returnImage = Image.FromStream(ms);
            return returnImage;
        }

        public byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream ms = new MemoryStream();
            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            return ms.ToArray();
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值