用VC进行简单的GIS编程

windows 编译安装PROJ.4 Proj.4是开源GIS最著名的地图投影库,许多GIS开源软件的投影都直接使用Proj.4的库文件。该项目遵循MIT license,用C语言编写,由USGS的Gerald I. Evenden在1980年代创立并一直维护到退休,后转手到Frank Warmerdam手中。Warmerdam现任OSGeo主席,于2008年5月把Proj.4纳入成为MetaCRS的一部分。Proj.4的主页( 阅读详情

组件式GIS采用标准的组件技术,并支持了目前流行的编程语言如VC、C#、delphi等开发平台,使开发者省去了学习专门的GIS开发语言,使开发更简单。

我最近在用VC6.0进行GIS开发,具体的GIS开发平台是北京超图地理信息技术有限公司(http://www.supermap.com.cn)提供SuperMap Object。

首先,创建一个基于对话框的MFC应用程序,命名为Map,保持默认选项。

然后,添加SuperMap控件到工程中,先在project菜单中选择add to project中的Components and Controls,把Register ActiveX controls文件夹中的SuperMap Control 和SuperWorkspace Control加入工程中,并把两个控件加入对话框中,并适当调整SuperMap控件。

现在为SuperMap Control 和SuperWorkspace Control控件添加变量分别为m_SuperMap和m_SuperWorkspace。接着在初始化对话框的函数中(return TRUE之前)加入如下代码:

//打开地图并显示
CsoDataSource objDataSource;
CsoDatasets objDataSets;
long Index;
//建立工作空间及数据源的联系
m_SuperMap.Connect(m_SuperWorkspace.GetHandle ());
//打开数据源
objDataSource=m_SuperWorkspace.OpenDataSource("C://MyProject//world.sdb","world",0,false); 

if (! objDataSource) 
{
   MessageBox("打开数据源出错!");
   exit(0);
}
//获得数据集
objDataSets=objDataSource.GetDatasets();
//添加图层
for (Index=1;Index<=objDataSets.GetCount();Index++) 
{
   m_SuperMap.GetLayers().AddDataset(objDataSets.GetItem(COleVariant(Index)),false);
}
//刷新,显示
m_SuperMap.Refresh();

其中OpenDataSource("C://MyProject//world.sdb","world",0,false)中的第一个字符串为数据源文件全路径名,第二个为数据源别名,第三个为数据源引擎类型 ,第四个为是否只读。AddDataset的第一个参数为要添加的数据集对象,第二个参数表示是否将数据集添加到 SuperMap 的最顶层。True 表示添加到最顶层;False 表示添加到最底层 。

添加完上面的代码,编译执行就可见到你幅世界地图显示在对话框中。

PDA-GPS移动GIS系统  PDA-GPS移动GIS系统 本人有支持矢量地图的Windows mobile 5.0/6.0 GPS手机GIS地图软件----GPS移动GIS(GPSMobileGIS),PC端的服务软件----移动GIS服务平台(GPSMobileGISServer)和后台GIS系统,可成套出售,也可只出售GPS移动GIS(GPSMobileGIS)+移动GIS服务平台(GPSMobileG 阅读详情

相关推荐

Cesium高级开发教程之二十一:克里金温度地图

教程示例网站:https://thomaz529.github.io。在js代码中设置温度数据以及温度层级颜色属性。在DOM中创建canvas,并设置不可见熟悉。

640

VC2013 ArcGIS Engine 10.0开发环境搭建

VC2013 + ArcGISEngine10.0 ——贵阳汉康 首先,当然是要安装好ArcObjects SDK forCross Platform C++; 安装好后,我们在VS2013里新建一个MFC的项目,比如命名为ggg,在MFC应用程序向导中,“应用程序类型”一项我们选择单文档,“生成的类”一项中,基类选择CFormView,点完成之后按照以下几个步骤: 环境配置搭建 在项目

华夏乐园 3795

使用VC++进行简单的GIS编程

在本文中,我们将使用VC++(Visual C++)编程语言来创建一个简单的GIS应用程序。我们将学习如何加载地理数据、显示地图、进行空间查询和绘制图形。我们可以在窗口上添加一些编辑框和按钮,以便用户输入查询点的经纬度坐标。然后,我们需要加载Shapefile数据并将其绘制在地图显示区域上。现在,当应用程序运行时,它将在地图显示区域上显示Shapefile数据。现在,当用户点击查询按钮时,应用程序将执行空间查询,并处理查询结果。通过调用绘制函数,可以在地图上绘制各种地理要素,如点、线、面等。

WwyOle的博客 350

基于VC++的3D地形绘制与纹理贴图

以VC++为平台,利用OpenGL库函数编写三维地形可视化过程。首先读取DEM数据,构建三角面片,计算其法向量;以BMP格式图片作为纹理,通过纹理坐标与三角面片顶点坐标的匹配实现纹理贴图;最后为场景添加光照、投影等,使场景更具真实感。最终实现了一个可以旋转、缩放的三维地形展示。

晚来天欲雪,能饮一杯无? 3883

GIS开发实战:使用VC++实现地理信息系统

本文还有配套的精品资源,点击获取 简介:GIS是处理地理信息的计算机系统,而"gis.rar_Open GIS VC_database_gis_gis vc_vc gis"压缩包包含了与GIS开发相关的VC++资源,尤其是使用该语言进行GIS应用开发的内容。本课程将讲解如何使用符合OpenGIS规范的接口处理GIS数据,以及如何通过VC++与数据库交互并绘制GIS数据。此外...

weixin_42524864的博客 2212

VC实现电子地图:读取Shapefile文件与GIS应用

Shapefile,简称SHP,是一种流行的矢量数据格式,广泛用于地理信息系统(GIS)中。它是ESRI(美国环境系统研究所)于1992年开发的一种地理数据模型。Shapefile文件格式是由一系列特定文件构成的,这些文件共同保存了一组点、线、面等几何图形的数据,以及它们相关的属性信息。Visual C++ (VC++) 是微软公司推出的一个集成开发环境 (IDE) ,它是Visual Studio开发工具包的一部分,专注于C++编程语言。

weixin_34535286的博客 671

用VC实现GIS系统基本功能

用VC实现GIS系统基本功能文档说明:此文档适合VC++的初学者,高手也可参考(希望能提出宝贵意见)。开发前准备:前提:必须在你的电脑上安装了MapX控件,并且准备好需要用到的电子地图(Mapinfo格式的)VC++嵌入MapX进行二次开发可分为以下几个步骤来实现:  1 对应用工程的预设置  在创建MapX控件之前,必须将MapX.h和MapX.cpp文件加入

BruceWoo的专栏 4054

VC++开发GIS矢量图形系统:实例与技巧

在地理信息系统(GIS)领域中,矢量图形系统是处理和展示地理数据的关键技术之一。矢量图形系统能够准确表达地理对象的位置、形状、方向和大小等属性,相比于栅格数据,矢量数据具有更高的精确性和更小的存储空间需求。矢量图形系统在地图展示、路径规划、城市规划等多个领域中发挥着至关重要的作用。MFC(Microsoft Foundation Classes)是一套C++类库,提供了一个丰富的框架,用于编写Windows应用程序。MFC库的主要特点包括:封装了Win32 API。

weixin_42466723的博客 999

VC、OpenGL、ArcGIS Engine开发的二维三维结合的GIS系统

 一、前言   众所周知,二维GIS技术发展了近四十年,伴随着计算机软硬件以及关系型数据库的飞速发展,二维GIS技术已日臻完善。在对地理信息的分析功能上有着无可比拟的优势。一些宏观的地理信息,一维的地理信息,如河流、公路等,以及二维的地理信息,如植被、湖泊、人口数量等,在对这些地理信息的分析和处理上,比较适合采用二维GIS系统。二维GIS始于20世纪60年代的机助制图,今天它已经深入社...

aolan7349的博客 847

读写ArcGis的Shapefile结构的c++类库,Vc2010制作

读写ArcGis的Shapefile结构的c++类库,Vc2010制作 可以读写 DBF文件 .shp .shx文件,c++ class 封装

vc开发gis代码

vc开发gis代码,非常好,强烈推荐!!

SuperMap Objects组件式GIS开发技术浅析

本文基于Visual Studio2010集成开发环境和SuperMap Objects 6组件平台,采用C#语言开发了一个简单的地图浏览、信息管理应用程序。本文的工作表明,利用SuperMap Objects组件式开发平台,可以极大地降低GIS系统的开发难度,减轻开发工作量,缩短开发周期,提高开发效率。参考文献刘光.地理信息系统二次开发实践教程-组件篇[M].北京:清华大学出版社,2003:1-15柳锦宝等.组件式GIS开发技术与案例教程[M].北京:清华大学出版社,2010:1-8。

其实,你一直都是我的奇迹! 1763

VC gis开发教程

教你如何用VC开发GIS系统,书中内容:VC基础,VC数据库,GIS矢量图形开发,GIS空间数据库,vc图形处理,图元的序列化,等

组件式GIS开发实例之MO+VC

开发工具:MapObject2.0+VC6.0 开发工具简介:         MapObjects是ESRI公司提供的一组供应用开发人员使用的制图与GIS功能组件,它是一组基于COM技术的地图应用组件,由一个称为Map的ActiveX的控件(OCX)和约45个自动化对象,在标准的Windows编程环境下,能够与其他图形、多媒体、数据库开发技术组成完成独立的综合性应用软件,是基于前端应用业

xiaolang86的专栏 2540

VC++通用GIS功能开发解决方案

如果您在此处下载压缩包,还要请您联系作者邮箱:cnaulee@gmail.com =========================== 综述: VC++通用GIS功能开发解决方案》源代码是基于VC++6.0 MFC 类库,在Win2000平台上开发的。界面部分用到了较低版本的 CJ60Lib 开放源码库,用户可自行替换高版本或其他界面库,它不作为本方案的商业部分。 《VC++通用GIS功能开发解决方案》源代码是迄今为止公开提供的最全面、最完善的开发GIS产品的一套基础解决方案。它的界面十分友好和具人性化,它传承了“VC++界面一揽子解决方案”(http://summerplq.51.net)最具经典的界面个性,并融合了该产品自身特有的亮点。它的功能部分解决了GIS开发的诸多普遍问题和关键技术(如数据结构,地图显示,基于DEM的地形分析等),可适用于城市规划、地质勘探、土地丈量、水利枢纽、农田建设,乃至其他构建于城市图和地形图之上的GIS类软件开发。可以说,它的基本功能方面已相当成熟。 《VC++通用GIS功能开发解决方案》是一套内容十分丰富的“教科书”,相对应于各个编程段的程序员来说都有合适的学习内容。源程序条理清晰,模块化设计,普遍采用注释,对于入门和初级程序员来说,可以拆分支解开来学习;对于开发级程序员来说,它提供了丰富的功能实现,省却了您金钱和时间的浪费;作为专业级的程序员来说,或许你可以从中找到另一条安全、快捷的编程思路,从而解决你在诸如方案设计,数据构建,分析实现上的困惑。 目前1.0版本:不带数据库,不带查询功能,不带投影变换功能。 方案内容: ============================================ 一、用户界面和控制 ------------------------------------ 1、实现全彩启动画面,令你程序增色不少; 2、实现软件启动口令设置。积作者多年经验完善而成,口令加密技术先进; 3、实现全屏功能,通过TAB键方便地互相切换; 4、实现人性菜单按钮,有工具栏纹理、文字、菜单图标,以及右键菜单功能; 5、实现视图窗口位图背景; 6、实现状态栏信息功能,显示坐标和高程; 7、实现对话框按钮个性化,平面加图标,自己琢磨还有更多效果; 8、实现发送邮件和访问主页功能; 9、实现真彩位图,图标,光标大应用,你可以在软件中发现大量真彩技术的应用; 10、实现树目录复选图标,彻底解放图层控制。 ! 更多细节请参考“VC++界面一揽子解决方案”3.0v(http://summerplq.51.net) 二、功能实现部分 -------------------------------- 1、数据格式公开透明,这在源代码中是显而易见的。数据源还可以通过Mapinfo中间格式转换过来!一旦你有了源代码,自己就可以编写出该转换软件,当然也可以购买我们提供的该软件。 2、地图显示(显示、漫游、放大、缩小)。 # 地图显示方式采用了图层控制技术,让你点击树目录中的“小眼睛”就可以方便地实现图层的开关显示。操作时图形不闪烁,结合“存档”功能,你还能保存你的设置! # 漫游采用无边际方式,任意漫游!同时结合“存档”功能,保存地图显示位置! # “放大”和“缩小”都同时采用两种方式:定点缩放和拉框缩放!拉框缩放采用了光栅绘图模式,效果自然漂亮! 3、九大GIS分析功能(基于DEM) #量算多点距离#计算线段最大坡度#计算区域面积#计算区域高程#两点通视#中心通视# #区域坡度图#断面图#区域通行分析 全部分析采用实时数据显示(操作同时显示结果)技术,配以最后结果显示。 几点说明: ============================================= 1、考虑到数据量大小问题,本方案只带了一幅示例数据,但已经足够用!又由于该样图来自于原来四幅图中,而本方案所用到的引擎文件也没有作相应改变,所以点程序中的“全图”功能后,该幅图只占了客户区的一角,而不是将该幅图放满客户区。这不影响其它任何操作,不是程序有问题。 2、本程序不提供更多数据!但我们提供将Mapinfo中间格式数据(即.mif格式)转换到本程序数据格式的软件。所以说,您做的城市图也可以放进来用。 3、本程序所用符号库(所谓符号库,即指地图中的点、线、面符号;如高程点,道路,植被等。)采用了封装的动态链接库DLL_study4R.dll,主要是因为该符号库是商业符号库(欲知其详细内容,请留意本人主页日后将刊登的介绍,大体上它包括了所有地形图符号以及城市图符号(如教育机构符号等))。 4、本程序由于CJ60Lib库版本问题而不适合.NET平台,但不是本程序自身问题!用户可以替换掉CJ60Lib库改用支持.NET的版本或其他界面库,或者索性弃用!这不影响程序其他实质部分。 5、补充:今后将推出基于DEM数据生成三维图功能(将作为单独模块提供)。

vc 地图设计软件(GIS)

设计一个了小型的计算机地图制图软件,能够实现一些常用的软件基本功能,如进行文件读写、存储等,还要求能够进行固定格式的地图基本显示操作,如地图的缩放、漫游、修改地理实体的属性等,有树状结构的控件显示图层的信息,并能够改变图层中实体的各种属性。

GIS系统三维地景仿真设计教程

[全部文章]  工具软件  办公软件  操作系统  网络安全  设计在线  程序开发  专题教程  软件下载  论坛  

ark1111的专栏 2636

VC++开发的GIS系统源码无错完整版

内容索引:VC/C++源码,图形处理,GIS  VC++开发的GIS系统源码无错完整版,陈建春书中的一个源代码,可以顺利编译完成,GIS软件VC版的不太多,这一个也算是一个能为VC朋友提供参考的好实例吧。这套系统可完成VC++使用鼠标绘图、图形移动、放大、选择等操作,源码运行如上图所示。

上一篇: 初学SuperMap Object的一些感受
下一篇: 源代码——程序员心中的诗
fiolee
博客等级 码龄22年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值