SuperMap Object 读取SQL数据库中的地图

2016-7-21 14:58:48 0人评论 165次浏览 分类:技术文章

/*
          * 有关说明:
          * 其中专题地图是在SuperMap中做好的.
          * 要想读取各个数据源的数据,也是很简单就能做到的,在SuperMap的帮助文件中有,
          * 这里是在SuperMap的DeskPro中做好的"专题地图". 
          * 其他的变量名称都是自己定义的,基本不用说明.
          * 有什么不明白的地方,欢迎留言!
          */
         private void Load_Map()
         {
             //建立axSuperWorkspace 与SuperMap之间的联系 
             axSuperMap.Connect(axSuperWorkspace.CtlHandle);
             //数据源别名 
             String strAlias;
             //数据引擎类型 
             SuperMapLib.seEngineType nEngineType;
             //数据源绝对路径名 
             String strDataSourceName;
             //数据源对象,指向打开的数据源 
             SuperMapLib.soDataSource objDataSource;
             //数据源里的数据是否只读 
             bool bReadOnly;
             //是否加到最上面 
             //bool bAddToHead;
             // int i; //循环变量 
             //别名可以任意给,建议取成和数据源文件主名 
             strAlias = "MyDataSource";
             //SuperMap支持多种类型,此处为SQLServer类型 
             nEngineType = SuperMapLib.seEngineType.sceSQLServer;
             //远程数据库的地址和数据库名
             strDataSourceName = @"provider = SQLOLEDB;server = ServerName/ServiceName ;database = DataBaseName";
             string strPassword = "UID=UserName;pwd=PassWord";
             bReadOnly = true; //不设为只读 
             //打开数据源           
             string strDataSource = @"Provider = SQLOLEDB;Driver = SQL Server;SERVER = ServerName /ServiceName;Database =DataBaseName;Caption = MyMap;";
             axSuperWorkspace.Open(strDataSource, strPassword);
             objDataSource = axSuperWorkspace.OpenDataSourceEx(strDataSourceName, strAlias, nEngineType, bReadOnly, true, false, true, strPassword);
             if (objDataSource == null)
             {
                 MessageBox.Show("地图信息打开失败,请与技术人员联系!", "打开数据源失败");
                 return;
             }
             else
             {
                 //在这里可以设置是打开DeskPro中设置好的专题地图,还是打开各个数据集,以及叠放次序
                 axSuperMap.OpenMap("专题地图");
                 //设置地图只显示省份
                 //设置自动滚屏关闭
             }
             //修改选中对象风格 
             axSuperMap.selection.Style.PenColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(100, 77, 0)));
             axSuperMap.selection.Style.PenWidth = 1;
             axSuperMap.selection.Style.PenStyle = 1;
             axSuperMap.selection.Style.BrushStyle = 5;
             axSuperMap.selection.Style.BrushBackTransparent = true;
             axSuperMap.selection.Style.BrushColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(115, 69, 140)));
             axSuperMap.selection.Style.BrushBackColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(239, 150, 255)));
             axSuperMap.selection.Style.BrushOpaqueRate = 20;
             //刷新地图窗口 
             axSuperMap.Refresh();
             objDataSource = null;
         }

附件下载

相关资讯

  • 如何自定义分块导出大图

    当地图范围太大且级别太高时,导出拼接为单张大图后普通看图软件无法打开查看,即便是像ArcGIS或GlobalMapper等专业软件打开也非常困难。为了解决这一问题,本软提供了将大图自定义分块导出的功能。这里我们以成都市行政区划为例,说明如何自定分块导出大图。在视图中点击“下…

    2019-10-24 16:50:47
  • 如何在微图APP内查看三维地球

    说起三维地球,有了解的朋友都会第一时间想起 Google Earth,Google Earth 为用户提供了非常详细和绚丽的三维地球场景,但是Google Earth在国内能正常访问的是PC版,手机版无法查看。为了解决这一问题,水经注微图APP在上线不久之后便推出了三维地球的功能,方便用户查看三维地…

    2019-4-8 10:00:18
  • 青海省谷歌高清卫星地图下载(百度网盘离线包下载)

    一、概述  青海,简称青,省会西宁,位于中国西部,雄踞世界屋脊青藏高原的东北部,是中国青藏高原上的重要省份之一。青海省东西长约1200公里,南北宽800公里,面积为72.10万平方公里。境内山脉高耸,地形多样,河流纵横,湖泊棋布。昆仑山横贯中部,唐古拉山峙立于南,祁连…

    2018-8-23 16:18:41
  • 宁夏省谷歌高清卫星地图下载(百度网盘离线包下载)

    一、概述  宁夏,全称宁夏回族自治区,简称“宁”。首府银川市,成立于1958年10月25日 [1] ,是中国五大少数民族自治区之一。  宁夏回族自治区得黄河水灌溉而形成了悠久的黄河文明。 早在三万年前,宁夏就已有了人类生息的痕迹。公元1038年,党项族的首领李元昊在此建立…

    2018-8-10 16:41:59

共有访客发表了评论 网友评论

验证码: 看不清楚?
    我们的客户
    卫星地图下载