彩票走势图

移动GIS控件Map Suite MVC使用教程:GIS示例之重要参数和数据

原创|使用教程|编辑:郝浩|2013-04-09 14:20:09.000|阅读 313 次

概述:在上一篇移动GIS控件Map Suite MVC使用教程中我们介绍了《GIS示例"Hello World"之如何显示地图》,本文中慧都小编将为你介绍GIS示例"Hello World"中需要用到的数据和重要对象。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

  在上一篇移动GIS控件Map Suite MVC使用教程中我们介绍了《GIS示例"Hello World"之如何显示地图》,本文中慧都小编将为你介绍GIS示例"Hello World"中需要用到的数据和重要对象。

Shapefiles

  Map Suite MVC Edition支持多种数据源,比如Shapefiles、TAB files、SQL Server 2008、PostgreSQL、Oracle等。下面我们简单介绍一下Shapefiles,在接下来的示例中我们将用到Shapefiles。

  简单来说,在Map Suite中Shapefiles将为绘制地图提供数据。Shapefiles中存储的二进制矢量坐标会被使用到控件中。他们的扩展名为.shp。Shapefiles还配备了两个补充文件,他们可以帮助Map Suite处理数据。

  第一个补充文件名为.shx文件,它的作用是为主Shapefile提供示例索引。它将告诉Map Suite控件什么时候应该读取二进制数据,什么时候应该结束。就好像读取二进制数据的目录,或者一个查找机制的排序。

  第二个补充文件名为.dbf文件,它的作用是为主Shapefile提供表格相关的数据。例如,Shapefile要绘制的一条线,表示道路的坐标,.dbf文件将告诉你这条道路的名称或者类型(如乡道、国道、县道等)信息。

  上面的三个文件必须放在同一个目录中,作为主要的Shapefile (.shp),Map Suite控件需要指定主要Shapefile的名称和文件路径。接下来,将继续讨论层,你将进一步了解在Map Suite中如何使用形状数据构建地图。

ShapeFileFeatureLayers

  在地图中ShapeFileFeatureLayer用于关联到一个单一的Shapefile文件,比如道路网络。你可以把层想象为现实世界中的实际地形。裸体地球是一个层,无论是物理定义的边界(如军事设施),还是法律上的界限(如一个国家的边界)。在裸体地球上面的另一个层,可能建立在光秃秃的大地之上的道路。重要的是要明白这一点,当使用图层时,需要为它们添加逻辑顺序,以便它们可以从上到下正确地可视化。换句话说,你肯定不希望在道路上面再盖上土,因为这样道路就看不见了,也不能被车辆使用。

  我们怎样创建和添加层?首先,你需要了解表示层有三种类型的风格。正如上面所提到的,图层的创建和添加基于的他们显示的上下顺序,所以第一步你可能很自然地画一些多边形,如一个国家和所有区域内的轮廓。然后,你可能会画一些线条代表河流和道路,再画一些点代表城市或其他你感兴趣的地方。最后,请记住逻辑将决定什么效果最好。

Map

  Map对象是最高级别的对象,包括层和一些其他的对象。 现在,你可以把一张地图想象成一组图层,它可以为你呈现基于执行操作的一张地图,比如放大和缩小,或者在表面上平移查看地图的另一部分。

Styles

  Shapefile文件只提供数据,但一些样式比如颜色你需要自己添加。你可以指定国家的颜色,道路的宽度,点的形状(三角形、圆形、交叉等),以此类推。

  Map Suite有许多内置的预设样式,这些预设样式包括道路、河流、城市、国家等。这使得它更容易创建非常好看的地图。

PresetZoomLevels

  样式定义了我们直观地表示数据的方式,而ZoomLevels则定义了我们用什么形式显示他们。为什么我们需要ZoomLevels?因为我们当我们放大一个国家时可能要显示一个小镇,但当我们缩小地图浏览整个国家时我们又不希望显示那个小镇,这些都需要通过ZoomLevels来实现。

  我们提供了20个最常见的比例尺,从ZoomLevel01到ZoomLevel20,你可以根据需要改变你的数据显示方式。比例尺是什么?比例尺表示给定区域的面积减少了多少。如果一条道路在现实世界中有10000英寸长,在地图中将它描绘为1英寸长,那么我们说这个地图的比例尺是1:10000。比如ZoomLevel02使用的比例尺为1:500和ZoomLevel03使用的比例尺为1:1200,这意味着地图的当前比例尺为1:1000,与ZoomLevel的ZoomLevel03比例尺比较接近。

  PresetZoomLevels有一个非常有用的属性名为ZoomLevel.ApplyUntilZoomLevel,它使你可以非常简单地扩展你的ZoomLevels。比方说你想一个特定的风格,该风格在ZoomLevel03到ZoomLevel10可见,实现的示例代码如下:

worldLayer.ZoomLevelSet.ZoomLevel03.DefaultAreaStyle = AreaStyles.Country1;  
worldLayer.ZoomLevelSet.ZoomLevel03.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level10;

MVC GIS控件Map Suite MVC Edition v6.0 下载


标签:GIS

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP