MapInfo开发心得——数据篇

上一篇文章介绍了一个简单的地图缩放工具的制作,接下来需要介绍一下地图数据读取及加载的设计。

首先,地图上的数据是来自数据库并自动生成的,我在这里并没有采用MapInfo的ADO.NET,而是采用本身系统的查询接口再加上自定义实体来生成地图图元,并插入MapInfo的Session中的临时表中以展示。

考虑到程序的扩展性,我将数据获取、图元展示、地图展示等分离开来,尽量做到灵活易懂。

数据获取接口,我只定义了一个方法:

  /**//// <summary>
  /// 数据提供接口,定义了获取数据的基本方法
  /// </summary>
  public interface IDataProvider
  {
    /**//// <summary>
    /// 获取所有数据主方法
    /// </summary>
    /// <returns>获取到的实体列表</returns>
    List<AbstractEntity> GetData ();
  }

这个方法返回List<自定义抽象实体>,这个List表示多个需要展示的图元集合。

所以最重要的是AbstractEntity了。

在该抽象实体中,我定义了两个属性X和Y,用来表示图元的坐标:

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索接口 百度地图 接口
, 数据
, 地图
, 接口
, 方法
, mapinfo lines
, MapInfo
实体
mapinfo二次开发、mapinfo插件开发、mapinfo 开发、mapinfo地图数据下载、mapinfo数据转换,以便于您获取更多的相关知识。

时间: 2024-09-15 12:12:34

MapInfo开发心得——数据篇的相关文章

MapInfo开发心得——多地图关联篇

多个窗体(MDI)同时展示,并相互操作这并不困难,小弟在这介绍一下由MapInfo中MapControl组成的多窗体关联处理. 首先看看效果: 开发心得--多地图关联篇-mapinfo二次开发"> 以上多关联地图窗体实现了:在同一个窗体中加载多个(最多4个)地图,地图的拖拽.缩放操作可相互关联,每个地图上各个数据都可以完全不相同! 现在我来说一下实现过程: 首先要在同一个窗体中加载多个地图,我采用了UserControl来做: public partial class ViewMap :S

MapInfo开发心得——控件篇

前阵做一个项目过程中,需要结合MapInfo进行地方展示开发,积累一点点心得与大家共享 以下所有基于MapXtreme 6.6 MapInfo提供了足够强大的WinForm地图空间,可以很方便地在VS中拖拉摆放. 但如此强大的控件也带来了封闭性太强的问题. 现在我们都接触到了大量Web上的地图,比如Google Map,Live Map等,这些Web地图都具有非常高的交互能力,缩放由鼠标双击或鼠标中键滚动,或者使用缩放工具完成,但换到WinForm上,这些非常好的交互能力全都没有了,变成了一个个

T-SQL开发——ID处理篇

原文:T-SQL开发--ID处理篇 数据库自增ID功能中Identity.Timestamp.Uniqueidentifier的区别: 问题现象: 一般序号的产生,对于一般程序员而言,都是使用T-SQL命令来实现.先读取表中的最大需要,然后累加一,再插回数据库,这样做是相当危险的.因为如果事务机制没有处理好,就会出现同时间内取得同一序号.结果可想而知.为了避免这种情况,SQLServer在内部已经提供了一定的机制来协助处理. 说明: 在SQLServer中,支持多种自动产生序号的机制. 第一种是

《并行计算的编程模型》一1.10 MPI开发心得

1.10 MPI开发心得 与其他的编程方法一样,MPI编程需要了解MPI特性,只有掌握MPI编程方法的优点和缺点,才能编写高效的MPI程序.对MPI最重要的认识是MPI属于一种函数库.MPI操作需要至少调用一个或多个MPI函数,针对特别少量的数据传输,MPI编程方法的效率可能不是最高的.因此,若使用MPI编程,在每次数据通信中需传输尽可能多的数据,从而提高通信效率. MPI支持用户构建自己的软件库.相对于在程序中调用MPI函数,利用MPI在程序中实现自定义接口的方法更好.很多应用程序采用自定义接

SD卡驱动开发心得体会

最近在负责SD卡驱动的开发移植工作,支持vfat文件系统,现在谈一下开发心得吧!         SD卡高度集成闪存,具备串行和随机存取能力.可以通过专用优化速度的串行接口访问,数据传输可靠.接口允许几个卡垛叠,通过他们的外部连接.接口完全符合最新的消费者标准,叫做SD卡系统标准,由SD卡系统规范定义. SD卡系统是一个新的大容量存储系统,基于半导体技术的变革.它的出现,提供了一个便宜的.结实的卡片式的存储媒介,为了消费多媒体应用.SD卡可以设计出便宜的播放器和驱动器而没有可移动的部分.一个低耗

一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示ORM对象与DataGridView的绑定技术-商品字典的另一个实现

回顾与说明     前面我们把"商品字典"."商品入库"."商品库存查询"."商品入库查询"四个模块已经概括或者详细的演示了一个管理信息系统的典型应用场景,按照原来的打算,WinForm篇的例子系统中的几个模块就告一段落了.     由于好多朋友都问我,你的例子中大量使用ListView控件,很想知道是否可以支持DataGridView控件,所以我就有想到重新用DataGridView写一下"商品字典"模块

iOS开发系列--数据存取

概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation框架的文章中提到归档.plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录.当然,文件存储并不作为本文的重点内容.本文重点还是说数据库存储,做过数据库开发的朋友应该知道,可以通过SQL直接访问数据库,也可以

急,急,急,,,,,安卓开发json数据解析,问题描述如下,我该怎么解决

问题描述 急,急,急,,,,,安卓开发json数据解析,问题描述如下,我该怎么解决 我的json数据是这样的: {"产品1":["件","箱"],"产品2":["台"],"产品3":["包"]} 我需要产品1.产品2.产品3放到一个spinner1里,同时当我选择任何一个spinner1的值时,我的另一个spinner2显示对应spinner1的值的spinner2的

.Net魔法堂:史上最全的ActiveX开发教程——部署篇

一.前言   接<.Net魔法堂:史上最全的ActiveX开发教程--发布篇>,后我们继续来部署吧!   二. 挽起衣袖来部署     ActiveX的部署其实就是客户端安装ActiveX组件,对未签名和已签名的ActiveX,分别有对应的部署方式.   1. 部署未签名的ActiveX 未签名的ActiveX控件不受浏览器端信任,默认是不被允许安装的 1. 将网站加入 **可信站点** 2. 在"可信站点"和"Internet"下的 **自定义级别**