关于地图学的一些基础知识

这几天整理硬盘中的数据,发现了一些关于地图学的学习资料,整理了一下发上来,希望对GIS初学者有一些帮助。

 

1、什么是地图?
  地图是按照一定的法则,有选择地以二维或多维形式与手段在平面或球面上表示地球(或其它星球)若干现象的图形或图像,它具有严格的数学基础、符号系统、文字注记,并能用地图概括原则,科学地反映出自然和社会经济现象的分布特征及其相互关系。

 

2、什么是数字地图?
  数字地图是存储在计算机的硬盘、软盘、光盘或磁带等介质上的,地图内容是通过数字来表示的,需要通过专用的计算机软件对这些数字进行显示、读取、检索、分析。

 

3、什么是栅格图?
  栅格图是基于一套行列组成的方格数据模型,使用一组方格描述地理要素,每一个方格的值代表一个现实的地理要素。 
  栅格数据适合于做空间分析和图象数据格式的存储,不适合做不连续的数据处理。

 

4、什么是数字栅格地图(DRG)?
  数字栅格地图(DRG)是纸质地图的栅格数字化产品。每幅图经扫描、几何纠正、图幅处理与数据的压缩处理,形成在内容、精度和色彩上与地图保持一致的栅格文件。

 

5、什么是栅格图像?
  栅格图像,也称光栅图像,是指在空间和亮度上都已经离散化了的图像。我们可以把一幅栅格图像考虑为一个矩阵,矩阵中的任一元素对应于图像中的一个点,而相应的值对应于该点的灰度级,数字矩阵中的元素叫做像素。数字图像与马赛克拼图相似,是由一系列像素组成的矩形图案,如果所有的像素有且仅有两个灰度级(黑或白),则称其为二值图像,也即位图;否者称其为灰度图像或彩色图像。什么是矢量图形?在介绍矢量图形之前,我们首先阐述矢量对象的概念。矢量对象是以矢量的形式,即用方向和大小来综合表示目标的形式描述的对象。例如画面上的一段直线,一个矩形,一个点,一个圆,一个填充的封闭区域……等等。矢量图形文件就是由这些矢量对象组合而成的描述性文件。矢量图形则是计算机软件通过一定算法,将矢量对象的描述信息在显示终端上重绘的结果。

 

6、什么是矢量图?
  矢量图是基于直角坐标系统,用点、线、多边形描述地理要素的数据模型或数据结构。每一个地理要素由一系列有顺序的的xy坐标描述,这些要素与属性相结合。

 

7、为什么要将栅格地图矢量化?
  纸质地图经扫描仪扫描后,初步保存为栅格图像(常见的格式有TIFFBMPPCXJPEG等)。栅格图像在地理应用领域有着这样的缺陷:首先,栅格图像文件对图像的每一像素点(不管前景或背景像素)都要保存,所以其存储开销特别大。另外,我们不能对图像上的任一对象(曲线、文字或符号)进行属性修改、拷贝、移动及删除等图形编辑操作,更不能进行拓扑求解,只能对某个矩形区域内的所有像素同时进行图像编辑操作。此外,当图像进行放大或缩小显示时,图像信息会发生失真,特别是放大时图像目标的边界会发生阶梯效应,正如点阵汉字放大显示发生阶梯效应的原理一样。而矢量图形则不同。在矢量图形中每个目标均为单个矢量单位(点、线、面)或多个矢量单位的结合体。基于这样的数据结构,我们便可以很方便地在地图上编辑各个地物,将地物归类,以及求解各地物之间的空间关系。并有利于地图的浏览、输出。矢量化则是利用数字图像处理算法,将源图上的各种栅格阵列识别为矢量对象,最后以一定格式保存的过程。矢量图形在工业、制图业、土地利用部门等行业都有广泛的应用。在这些领域的许多成功软件都基于矢量图形,或离不开矢量图形的参与,如AutoCADARC/INFOCorel DrawGeoStar等等。(摘自地理信息系统论坛网)

 

8、什么是地图的比例尺?
  地图上某线段的长度与实地相应线段的水平长度之比,称为地图的比例尺。其表现形式有数字比例尺、文字比例尺和图解比例尺。比例尺大于和等于110万的地图,如110万、15万、12.5万、11万、15千等的地图可称为大比例尺地图。比例尺小于110万并大于1100万的地图,如125万、150万等的地图可称为中比例尺地图。比例尺小于和等于1100万的地图,如1100万、1250万、1600万、12000万等的地图可称为小比例尺地图。

 

9、大地测量与地图制图的基本原理?
  地球是一个自然表面极其复杂与不规则的椭球体,而地图是在平面上描述各种制图现象,如何建立地球表面与地图平面的对应关系?为解决这一问题,人们引入大地体的概念。大地体是由大地水准面包围而成。大地水准面是假定在重力作用下海水面静止时的平均水面,并设想此面穿过大陆与岛屿,连续扩展形成处处与铅垂线成正交的闭合曲面。由于地壳内部物质密度分布不均匀,大地水准面也有高低起伏。虽然此高低起伏已经不大,比地球自然表面规则得多,但仍不能用简单的数学公式表示。为了测量成果的计算和制图的需要,人们选用一个同大地体相近的可以用数学方法来表达的旋转椭球体来代替,简称地球椭球体。它是一个规则的曲面,是测量和制图的基础。地球自然表面点位坐标系的确定包括两个方面的内容:一是地面点在地球椭球体面上的投影位置,采用地理坐标系;二是地面点至大地水准面上的垂直距离,采用高程系。

 

10、什么是大地坐标系?
  大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示。大地坐标系的确立包括选择一个椭球、对椭球进行定位和确定大地起算数据。一个形状、大小和定位、定向都已确定的地球椭球叫参考椭球。参考椭球一旦确定,则标志着大地坐标系已经建立。

 

11、什么是54北京坐标系?
  新中国成立后,很长一段时间采用1954年北京坐标系统,它与苏联1942年建立的以普尔科夫天文台为原点的大地坐标系统相联系,相应的椭球为克拉索夫斯基椭球。到20世纪80年代初,我国已基本完成了天文大地测量,经计算表明,54坐标系统普遍低于我国的大地水准面,平均误差为29米左右。

 

12、什么是80西安坐标系?
  19784月在西安召开全国天文大地网平差会议,确定重新定位,建立我国新的坐标系。为此有了1980年国家大地坐标系。1980年国家大地坐标系采用地球椭球基本参数为1975年国际大地测量与地球物理联合会第十六届大会推荐的数据。该坐标系的大地原点设在我国中部的陕西省泾阳县永乐镇,位于西安市西北方向约60公里,故称1980年西安坐标系,又简称西安大地原点。基准面采用青岛大港验潮站19521979年确定的黄海平均海水面(即1985国家高程基准)。

 

13、什么是地心坐标系?
  以地球的质心作为坐标原点的坐标系称之为地心坐标系,即要求椭球体的中心与地心重合。人造地球卫星绕地球运行时,轨道平面时时通过地球的质心,同样对于远程武器和各种宇宙飞行器的跟踪观测也是以地球的质心作为坐标系的原点,参考坐标系已不能满足精确推算轨道与跟踪观测的要求。因此建立精确的地心坐标系对于卫星大地测量、全球性导航和地球动态研究等都具有重要意义。

 

14、什么是WGS84坐标系?
  WGS84坐标系是一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向国际时间局(BIH1984.0定义的协议地极(CTP)方向,X轴指向BIH1984.0的协议子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系。这是一个国际协议地球参考系统(ITRS),是目前国际上统一采用的大地坐标系。

 

15、什么是地图投影?
  地图投影是研究把地球椭球体面上的经纬网按照一定的数学法则转绘到平面上的方法及其变形问题。地图投影的方法有几何法和解析法。几何法是以平面、圆柱面、圆锥面为承影面,将曲面(地球椭球面)转绘到平面(地图)上的一种古老方法,这种直观的透视投影方法有很大的局限性。解析法是确定球面上的地理坐标与平面上对应点的直角坐标之间的函数关系。

 

16、我国基本比例尺地形图采用什么投影?
  我国1100万地形图,20世纪70年代以前一直采用国际百万分之一投影(又称改良都圆锥投影),现在改用正轴等角割圆锥投影。我国150万和更大比例尺地形图,统一采用高斯-克吕格投影。高斯-克吕格投影是横轴等角椭圆柱投影。其原理是:假设用一空心圆柱横套在地球椭球体上,使椭圆柱轴通过地心,椭圆柱面与椭圆体面某一经线相切;然后,用解析法使地球椭球体面上经纬网保持角度相等的关系,并投影到椭圆柱面上;最后,将椭圆柱面切开展成平面,就得到投影后的图形。此投影由德国科学家高斯首创,后经克吕格补充,简称高斯投影。

 

17、什么是普通地图、地形图和专题地图?
  按照地图的内容,地图可分为普通地图、地形图和专题地图三种。普通地理图(General Map)是以同等详细程度来表示地面上主要的自然和社会经济现象的地图,能比较全面地反映出制图区域的地理特征,包括水系、地形、土质、植被、居民地、交通网、境界线以及主要的社会经济要素等。它和地形图的区别主要表现在:地图投影、分幅、比例尺和表示方法等具有一定的灵活性,表示的内容比同比例尺地形图概括,几何精度较地形图低。地形图(Topographic Map)是指国家几种基本比例尺(15千,11万,12.5万,15万,110万,125万,150万,1100万)的全要素地图。它是按照统一的规范和符号系统测(或编)制的,全面而详尽地表示各种地理事物,有较高的几何精度,能满足多方面用图的需要,是国家各项建设的基础资料,也是编制其它地图的原始资料。专题地图(Thematic Map)是着重表示一种或几种自然或社会经济现象的地理分布,或强调表示这些现象的某一方面特征的地图。专题地图的主题多种多样,服务对象也很广泛。可进一步分为自然地图和社会经济地图。

 

18、我国基本比例尺地形图如何分幅与编号?
  为了保管和使用方便,我国对每一种基本比例尺地形图的图廓大小都做了规定,每一幅地形图给出了相应的号码标志,这就是地形图的分幅与编号。地形图分幅有两种方法:一是矩形分幅,一是经纬线分幅,我国采用经纬线分幅。
  1991年前我国基本比例尺地形图分幅与编号系统是一1100万地形图为基础,延伸出150万、125万、110万三种比例尺;在110万地形图基础上又延伸出两支:第一支为15万及12.5万比例尺;第二支为11万比例尺。1100万地形图采用行列式编号,其它六种比例尺的地形图都是在1100万地形图的图号后面增加一个或数个自然序数(字符或数字)编号标志而成。
  1100万地形图的分幅和编号式国际上统一规定的,从赤道起向两极纬差每4o为一列,将南北半球分别分成22列,依次以字母ABCD……V表示;由经度180o起,从西向东,每经差6o为一行,将全球分成60行,依次用数字1234……60表示,采用横列号-行号编号表示。
  1991年我国制定了《国家基本比例尺地形图分幅和编号》的国家标准,自1991年起新测和更新的地形图,照此标准进行分幅和编号。

 

19、什么是地理坐标网(经纬网)?
  为了制作和使用地图的方便,高斯-克吕格投影的地图上绘有两种坐标网:地理坐标网和直角坐标网。
  在我国11万-110万地形图上,经纬线只以图廓的形式表现,经纬度数值注记在内图廓的四角,在内外图廓间,绘有黑白相间或仅用短线表示经差、纬差1’的分度带,需要时将对应点相连接,就构成很密的经纬网。在120万-1100万地形图上,直接绘出经纬网,有时还绘有供加密经纬网的加密分割线。纬度注记在东西内外图廓间,经度注记在南北内外图廓间。

 

20、什么是直角坐标网(方里网)
  直角坐标网是以每一投影带的中央经线作为纵轴(X轴),赤道作为横轴(Y轴)。纵坐标以赤道我0起算,赤道以北为正,以南为负。我国位于北半球,纵坐标都是正值。横坐标本应以中央经线为0起算,以东为正,以南为负,但因坐标值有正有负,不便于使用,所以又规定凡横坐标值均加500公里,即等于将纵坐标轴向西移500

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 A* 算法的 Matlab 实现,用于在栅格地图中寻找最短路径: ```matlab function [path, cost] = A_star(start, goal, map) % start: 起点坐标,格式为 (x, y) % goal: 终点坐标,格式为 (x, y) % map: 栅格地图,元素为 0 表示该位置可通过,1 表示障碍物 % path: 最短路径,每个元素为一个坐标 (x, y) % cost: 路径的总代价 % 初始化起点和终点 start_node = Node(start, [], 0, 0); goal_node = Node(goal, [], 0, 0); % 初始化 open 和 closed 列表 open_list = [start_node]; closed_list = []; % 开始搜索 while ~isempty(open_list) % 选择 f 值最小的节点 current_node = open_list(1); currentIndex = 1; for i = 1:length(open_list) if open_list(i).f < current_node.f current_node = open_list(i); currentIndex = i; end end % 将当前节点从 open 列表中移除,加入 closed 列表 open_list(currentIndex) = []; closed_list = [closed_list current_node]; % 找到终点,返回路径 if isequal(current_node.position, goal_node.position) path = []; cost = current_node.g; while ~isempty(current_node.parent) path = [current_node.position path]; current_node = current_node.parent; end path = [start path]; return; end % 扩展当前节点的邻居 neighbors = get_neighbors(current_node, map); for i = 1:length(neighbors) neighbor = neighbors(i); % 如果邻居节点已经在 closed 列表中,跳过 if ~isempty(find([closed_list.position] == neighbor.position, 1)) continue; end % 计算邻居节点的代价 neighbor_g = current_node.g + distance(current_node.position, neighbor.position); neighbor_h = distance(neighbor.position, goal_node.position); neighbor_f = neighbor_g + neighbor_h; % 如果邻居节点已经在 open 列表中,更新其 g 和 f 值 % 否则,将邻居节点加入 open 列表 index = find([open_list.position] == neighbor.position); if isempty(index) neighbor_node = Node(neighbor, current_node, neighbor_g, neighbor_f); open_list = [open_list neighbor_node]; else if neighbor_g < open_list(index).g open_list(index).g = neighbor_g; open_list(index).f = neighbor_f; open_list(index).parent = current_node; end end end end % 如果 open 列表为空,说明无法到达终点 error("No path found."); end function d = distance(a, b) % 计算两个点之间的欧几里得距离 d = norm(a - b); end function neighbors = get_neighbors(node, map) % 获取当前节点的邻居 [x, y] = meshgrid(-1:1, -1:1); neighbors = []; for i = 1:numel(x) neighbor_position = node.position + [x(i) y(i)]; % 如果邻居节点超出地图范围,跳过 if any(neighbor_position < 1) || neighbor_position(1) > size(map, 1) || neighbor_position(2) > size(map, 2) continue; end % 如果邻居节点是障碍物,跳过 if map(neighbor_position(1), neighbor_position(2)) == 1 continue; end neighbors = [neighbors neighbor_position]; end end classdef Node % 表示 A* 算法中的一个节点 properties position % 节点的坐标,格式为 (x, y) parent % 父节点 g % 起点到该节点的代价 f % g 值和启发式函数值的和 end methods function obj = Node(position, parent, g, f) obj.position = position; obj.parent = parent; obj.g = g; obj.f = f; end end end ``` 你需要将栅格地图表示为一个矩阵,元素为 0 表示该位置可通过,1 表示障碍物。例如,以下代码定义了一个 5x5 的栅格地图,其中左上角和右下角是障碍物: ```matlab map = [ 1 0 0 0 0; 0 0 1 0 0; 0 0 0 0 0; 0 1 0 0 0; 0 0 0 0 1; ]; ``` 然后,你可以调用 `A_star` 函数来寻找起点到终点的最短路径: ```matlab start = [1, 1]; goal = [5, 5]; [path, cost] = A_star(start, goal, map); ``` 其中,`path` 是一个包含路径上所有坐标的向量,`cost` 是路径的总代价。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值