下载后可任意编辑本人有 vb+AO AE MO MAPX SO |vc+ao 工程源代码,和资料需要这些代码的朋友请加我 qq:527602799,代码优惠转让,并随盘有接近 3 个多 G 的 gis 系列资料
在信息系统开发中,间或需要用图示的方式将信息、数据等按地理分布显示出来,假如为此而专门购买一个 GIS 系统成本太高了
基于上述原因,我们自行开发了一个矢量地图绘制程序
本文介绍如何利用 VB6
0 制作自己的矢量地图,实现矢量地图的绘制、缩放、漫游等功能
1、地图数据的采集采集地图的矢量数据可以使用数字化仪等工具,也可以用人工的方法读取
笔者使用人工的方法读取了广西边界的轮廓图,方法是:对于闭合的广西边界先任意地定一个起点(假如是非闭合线如河流,取一个端点为起点),沿广西边界,按顺时针方向,大约每隔 0
1 个经距或纬距(比较粗藻,但是对于示意图来说就足够了),读出边界上一个点的经度和纬度值作为矢量地图的坐标,直到回到起点(对于非闭合线,则读到另外一个端点)
同样地我们也可以读出河流、地区边界、城市点等数据
本文示例中所绘的广西地图边界就是通过这种方法读出来的,共有 311 个点
2、地图矢量数据的存储我们采纳 ACCESS 数据库 mapdata
mdb 表 mdata 来存储采集到的地图边界数据
表 MDATA 结构如下(本文示例绘制地图的外边界,只用到 fx,fy,ftype 字段,其余字段对于一个完整的矢量地图包含外边界、河流、城市点等,是很有用的):字段名称 类型说明fx单精度经度,横坐标fy单精度纬度,纵坐标ftype整型当前记录坐标类型(边界或是城市),值为 1 表示外边界,2 表示内分界,3 表示河流,4 表城市fgroup整型分组,该字段值相同表示属于同一边界或同一区域的城市fdata字符串型 数据点的说明3、描绘地图我们可以把地图描绘在支持 l