当前位置:GIS服务>GIS技术>

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

2016/7/21 14:58:48 0人评论 718 次

900-150.gif

/*
          * 有关说明:
          * 其中专题地图是在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;
         }

推荐阅读:                                        

免费分享全国省级与市级行政区划啦!                                         

百度网盘可免费下载全国高清卫星影像啦!                                        

百度网盘可免费下载全国30米SRTM高程啦!                                        

免费从网盘下载的影像和高程DEM如何使用?                                        

如何利用免费地图数据构建一个离线三维地球?                                         

DAT与IDX格式文件如何打开?                                        

如何免费下载谷歌高清卫星影像地图?                                        

22.3TB全国1-20级谷歌卫星影像终于出炉!                                        

干货:全球73.9TB卫星影像是如何下载的?                                        

《全国12.5米高程DEM原始数据2.0》发布!                                        

12.5m、30m、90m 高程数据详细对比说明!                                        

在开源地球 Cesium 离线加载影像和高程!                                        

在ArcMap中离线加载海量卫星影像的方法!                                        

《地图发布服务中间件》for Linux 发布!                                        

最新版GoogleMap API 离线源码下载技术!                                        

全球谷歌卫星影像的大字体挂图打印制作方法                                        

长按关注水经注,我们与你更近一步

新版谷歌地图高清            卫星地图下载拼接,地图标注,DEM高程下载,等高线提取,矢量数据(WGS84,西安80,北京54,2000坐标)å åŠ é…            å‡†,投影转换;支持AutoCAD,ArcGIS等行业软件。  

地图下载 | 地图发布 | 系统部署 | 定制研发 

请拔打24小时热线:400-028-0050

分享到:

相关资讯

    暂无相关的资讯...