ArcGIS开发Questions小总结

(A)Gis的定义-什么是Gis:

物质世界中的任何事物都被牢牢地打上了时空的烙印。人们的生产和生活中百分之八十以上的信息和地理空间位置有关。地理信息系统( Geographic Information System, 简称 GIS )作为获取、整理、分析和管理地理空间数据的重要工具、技术和学科,近年来得到了广泛关注和迅猛发展。由于信息技术的发展,数字时代的来临,理论上来说,GIS可以运用于现阶段任何行业。

  • 从技术和应用的角度, GIS 是解决空间问题的工具、方法和技术;

  • 从学科的角度, GIS 是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门学科,具有独立的学科体系; 

  • 从功能上, GIS 具有空间数据的获取、存储、显示、编辑、处理、分析、输出和应用等功能;

  • 从系统学的角度, GIS 具有一定结构和功能,是一个完整的系统。

说的还是太过于专业一时难以形成具体的理解,那么通俗一点来说:GIS 是一个基于数据库管理系统(DBMS)的分析和管理空间对象的信息系统,以地理空间数据为操作对象是地理信息系统与其它信息系统的根本区别

从上面可以看出:Gis是一个信息系统 这个系统是基于空间对象的,以地理空间数据作为操作对象 

(B)Gis的组成部分分析:

GIS 由五个主要的元素所构成: 硬件、软件、数据、人员和方法。

  • 硬件主要包括计算机和网络设备,存储设备,数据输入,显示和输出的外围设备等等。 

  • 软件主要包括以下几类:操作系统软件 、数据库管理软件 、系统开发软件 、GIS 软件,等等。GIS软件的选型,直接影响其它软件的选择,影响系统解决方案,也影响着系统建设周期和效益。

  • 数据是GIS的重要内容,也是GIS系统的灵魂和生命。数据组织和处理是GIS应用系统建设中的关键环节,涉及许多问题: 

  • 方法指系统需要采用何种技术路线,采用何种解决方案来实现系统目标。方法的采用会直接影响系统性能,影响系统的可用性和可维护性。

(C)Gis主要运用:

GIS(地理信息系统)在最近的30多年内取得了惊人的发展,广泛应用于资源调查、环境评估、灾害预测、国土管理、城市规划、邮电通讯、交通运输、军事公安、水利电力、公共设施管理、农林牧业、统计、商业金融等几乎所有领域。 (加测绘、应急、石油石化等国民经济各个领域。)

ArcGIS的工具软件介绍: 

ArcSDE:即数据通路,是ArcGIS的空间数据引擎,它是在关系数据库管理系统(RDBMS)中存储和管理多用户空间数据库的通路

ArcView:提供了全面的测绘和分析工具,以及简单的编辑和地理处理。

ArcEditor:包括shapefile和地理数据库中ArcView中的所有功能,以及高级编辑功能。

ArcInfo:扩展了前两者的功能,增加了高级地理处理功能

ArcMap:中央在ArcGIS Desktop中的应用。它是用于所有基于地图的任务,包括制图,地图分析和编辑的

ArcCatalog:可用于是浏览,组织分配,管理一个组织机构所有GIS数据的工具,是对空间数据库内容的管理,数据库设计及元数据的记录与浏览。

ArcToolbox:可用于数据转换和地理处理(geoprocessing)的GIS工具组合

(D)什么是web gis

WebGIS是Internet技术应用于GIS开发的产物。GIS通过WWW功能得以扩展,真正成为一种大众使用的工具。从WWW的任意一个节点,Internet用户可以浏览WebGIS站点中的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使GIS进入千家万户

(E)WebGIS的特点

1:全球化的客户/服务器应用  

全球范围内任意一个WWW节点的Internet用户都可以访问WebGIS服务器提供的各种GIS服务,甚至还可以进行全球范围内的GIS数据更新。 

2:真正大众化的GIS

由于Internet的爆炸性发展,Web服务正在进入千家万户,WebGIS给更多用户提供了使用GIS的机会。WebGIS可以使用通用浏览器进行浏览、查询,额外的插件(plug-in)、ActiveX控件和Java Applet通常都是免费的,降低了终端用户的经济和技术负担,很大程度上扩大了GIS的潜在用户范围。而以往的GIS由于成本高和技术难度大,往往成为少数专家拥有的专业工具,很难推广。

3:良好的可扩展性

WebGIS很容易跟Web中的其他信息服务进行无缝集成,可以建立灵活多变的GIS应用。

4:跨平台特性

在WebGIS以前,尽管一些厂商为不同的操作系统(如:Windows、UNIX、Macintosh)分别提供了相应的GIS软件版本,但是没有一个GIS软件真正具有跨平台的特性。而基于Java的WebGIS可以做到"一次编程,到处运行 (write once, run anywhere)" ,把跨平台的特点发挥得淋漓尽致。

(F)开发控件的选择

目前影响较大的国外地理服务器有Mapinfo MapXtreme、MapObject、Autodesk Map Guide、ArcIMS、Argcgisserver以及国内的Super Map等

我们这里选择Mapinfo MapXtreme MapXtreme Java 是目前用于 Internet 或企业 Intranet唯一的 100%纯 Java的地图服务器。

MapInfo MapXtreme Java 与 J2EE 兼容,为开发人员开发应用提供了无与伦比的灵活性。

MapXtreme Java 向应用开发商提供了一个高度可视化的、直观的组件,方便他们将地图功能集成到任何 Web应用中。

(G)MapXtreme Java为 Internet 设计三种布署模式

瘦客户端:   所有的地图生成 / 渲染是由服务器端完成的。客户只接收小于 20k 的 GIF 。在服务器端, MapXtreme 作为一个 Servlet 与 Web 服务器相连接,或者集成了 Web 服务器和应用服务器的功能。

中型客户端:   Web 浏览器装载了一个 Java Applet ,但仍然从 MapXtreme 的 Servlet 中得到基于 GIF/JPEG 的地图图像。这种环境增加了灵活的用户交互,同时将从服务器下载的信息量降到最低。

胖客户端:   装载了 applet 后,地图以一系列矢量的形式传输到 applet 中。这样,除了可从任何远程数据库中获得的空间对象外,所有的地图功能都属于客户 applet 。这种环境最适于更高带宽的内部网,所有的数据都能传输到每个客户端。要使用这种模式, MapXtreme 必须以命名用户方式注册。 MapXtremeJava 以压缩了 10 倍的数据格式形成矢量流,便于网络传输,减少响应时间。

考虑到IE对applet的支持,客户端用户对IE的设置的反感,我们决定采用瘦客户端的部署模式。所有的地图生成全部由服务器来完成,web gis应用中的客户端和普通web应用中的客户端一样

(H)ArcGIS的主要文件格式有那些?

(1) 矢量型Shapefile和对应的要素属性表

(2) 矢量为主的空间数据库Geodatabase

(3) 传统ArcInfo矢量型Converage和栅格型Grid

(4) 基于关系模型的属性表,包括dBASE格式的dbf表、INFO数据库表,Access数据库表

(5) ArcGIS专用的不规则三角网(Triangle Irreguar Network ,TIN);

(I)矢量图与栅格图的区别?

  矢量图:数字化的图像,图中的每以个点都有相对的X和Y坐标,并对其进行编辑,也称数字化图。

  栅格图:也叫光栅图像,它既是的图像,也可以是Mapgis工程输出生成的jpg,tig等格式的文件,数码相片就是栅格图,它有分辨率大小的要求

(K).lyr与.shp之间的区别?

地图文档是以.mxd为后缀的文件是以ArcMap打开,已经发布的地图是以.pmf为后缀的文件,以ArcRead打开

.lyr是图层文件,没有具体数据

.shp是数据文件,具体存储的是地理数据的几何特征:坐标,长度,面积等

(L)ArcGIS中File Geodatabase与Personal Geodatabase的区别?

(1) 平台支援:

1、Personal Geodatabase:仅可在Windows 上运行;

2、File Geodatabase:跨平台支援,可在Windows 及UNIX、linux上运行。

(2) 存储方式:

1、Personal Geodatabase 是一个MS-Access 的mdb 数据库文档;

2、File Geodatabase 以一个文件夹方式储存。

评价:Personal Geodatabase有依托微软的access数据库的限制,File Geodatabase,可以慢慢摆脱依靠access的限制,不用受制与微软的技术。

(3) 储存限制:

1、Personal Geodatabase:相同于MS Accesss 限制,数据库最大容量为2GB。

2、File Geodatabase:数据库无限制,每个表限制为1TB(1000GB)。

评价:File Geodatabase支持对海量数据的处理。

(4) 储存空间:

同样的资料,在File Geodatabase 中比Personal Geodatabase 和Shapefile占用的硬盘空间更少,通常可以减少50%~70%,最多可减少到1/5。

(5) 效能:

File Geodatabase 相较于Personal Geodatabase 处理数据的速度可快20%到10倍,这部分随着资料量的增加,效能差异越大

(6) 是否支持数据压缩:

1、Personal Geodatabase:不支持数据压缩。

2、File Geodatabase:支持一种新的数据压缩格式,在查询与显示方面均与未压缩格式相同,压缩比率可从2:1 到25:1。

(7) 空间索引

1、Personal Geodatabase不可以添加等操作空间索引

2、File Geodatabase却可以

(M)在GIS应用中,常见的地图数据符号化有几类,说明特点。

地图数据化是地图可视化的重要手段,常见的有点符号。线符号、面符号、注记符号、统计地图

1、点符号:不同颜色,大小,形状表达点要素;特殊包括倾斜,偏移,多属性统计图,无常宽度、(城镇,楼宇,马头,山峰,景点,基地.)

2、线符号:不同颜色,宽度,线型表达线状要素,包括多边形边界;特殊包括侧向偏移,有方向,符号有长度,但无宽度和高度(河流,铁路,地下管网,行政边界等)

3、面符号:不同颜色,密度,图案填充多边形要素,特殊形式包括多属性统计图,点密度图,符号有长宽(土壤,耕地,草原,沙漠,操场)

(N)Arc Toolbox中比较Append,Merge和Union三种操作的异同?

1、Append:合并输入要素类,表,栅格影像及栅格目录到一个已有的要素类,表,栅格影像及栅格目录。类型必须相同

2、Merge:合并输入要素类,表到新的要素类,表中

3、Union:只能合并polygon类型的要素类

(O)ArcGIS Server有几个必须知道的URL路径

http://localhost:8399/arcgis/rest/services  这是:ArcGIS Services Directory ArcGIS 服务的目录。在部署services后自动生成。

http://localhost:8099/arcgismanager/main/main.jsf 这个是:管理ArcGIS Server的一个主要链接,登陆账号就是设置的arcgismanager ,其实应该是只要是agsadmin组的用户都可以登陆

(P)ArcSDE ArcIMS与ArcGIS Server的区别?

ArcSDE:是一个先进的空间数据服务器软件。它为任意的客户端应用,例如ArcIMS或ArcGIS Desktop,

提供了一个在DBMS中存储、管理和使用空间数据的通道。 是ArcGIS与关系数据库之间的GIS通道。

ArcIMS:是一个可伸缩的网络地图服务器软件。它被广泛地用于向大量的网络用户发布网络GIS地图、数据和元数据。

例如,ArcIMS提供对GIS目录门户的基于浏览器的访问,使用户能够容易地发布和共享地理知识。

ArcGIS Server:是提供给企业和网络应用开发者的一个具有丰富GIS功能的服务器GIS产品。

它用来构建分布式的、多层的企业信息系统配置。

(Q)ArcGIS Server和ArcIMS的关系?

ArcGIS Server可以代替ArcIMS,但是必须有高效的服务器,同时实现很好的负载平衡。ArcIMS适合高性能的地图数据发布,

它提供的功能比较简单(只具备Viewer的操作),但是速度明显优于ArcGIS Server。

而ArcGIS Server可以实现所有Engine可以实现的功能,包括一些高级的GIS功能,比如空间分析等 

相同点:两者都是ESRI的产品,都是采用完全一样的结构(Webserice),都是基于网络的地图发布平台软件。

不同点:两者是不同的软件,ArcIMS应用发送的是ArcXMl,接收的是ArcXML,而ArcGIS Server REST应用发送get/post请求,接收 JSON数据。ArcIMS不支持地图缓存创建等等操作。

(R)如何允许从Java平台的ArcGIS Manager导出的WAR文件允许被解包部署 ?

一般我们会使用Java平台的ArcGIS/ArcIMS Manager导出服务的WAR包, 但是这个WAR包默认不会在部署的时候解开。这个设定存在于WAR包中的配置文件,我们可以在导出前通过编辑服务器的配置文件进行修改。

内容:

1. 切换目录到: 

  C:\Program Files\ArcGIS\java\manager\config\applications\build\WebContent\META-INF.

2. 使用文本编辑器打开'Context.xml'文件。 

3. 将下列行: 

  <Context unpackWAR="false">

  替换为: 

   <Context unpackWAR="true">

ArcGISSOM帐号?

Som(service object manager)这是一个服务对象管理的东西,soc(service object container)是一个服务对象容器,这是从字面上是这样理解的。Som主要是负责启动和停止soc,相当于som是一个公司的boss,其他的soc都是员工。我们就从公司和员工理解吧。

(S)文件格式解读

1、什么是KML文件?

KML,是 Keyhole 标记语言(Keyhole Markup Language)的缩写,是一种采用 XML 语法与格式的语言,用于描述和保存地理信息(如点、线、图像、多边形和模型等),可以被 Google Earth 和 Google Maps 识别并显示。您可以使用 KML 来与其他 Google Earth 或 Google Maps 用户分享地标与信息。当然,您也可以从 Google Earth 社区 等相关网站获得有趣的 KML 文件。Google Earth 和 Google Maps 处理 KML 文件的方式与网页浏览器处理 HTML 和 XML 文件的方式类似。像 HTML 一样,KML 使用包含名称、属性的标签(tag)来确定显示方式。因此,您可将 Google Earth 和 Google Maps 视为 KML 文件浏览器。单击此处可获得更多信息。   Google Maps 只能显示部分 KML 属性。详见 Google Maps 帮助

2、什么是KMZ文件?

注意:KMZ 文件是压缩过的 KML 文件。【译注:由于 KMZ 是压缩包,因此,它不仅能包含 KML文本,也能包含其他类型的文件。如果您的地标描述中链接了本地图片等其他文件,建议您在保存地标时,保存类型选 KMZ 而不选 KML,Google Earth 会把您链接的图片等文件复制一份夹 KMZ 压缩包中。这样,您就可以将包含丰富信息的地标文件发给朋友,一起分享了。】

3、什么是OGC?

OGC——Open Geospatial Consortium——开放地理信息联盟,是一个非盈利的志愿的国际标准化组织,引领着空间地理信息标准及定位基本服务的发展目前在空间数据互操作领域

4、什么是WMS?

Web地图服务(Web Map Service)利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述; GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息。

5、什么是WFS?

Web 要素服务(Web Feature Service)支持对地理要素的插入,更新,删除,检索和发现服务。该服务根据HTTP客户请求返回GML(Geography Markup Language、地理标识语言)数据。 WFS对应于常见桌面程序中的条件查询功能,WFS通过OGC Filter构造查询条件,支持基于空间几何关系的查询,基于属性域的查询,当然还包括基于空间关系和属性域的共同查询。

6、什么是WCS?

WCS:world coordinate system 世界坐标系(在AutoCAD中,还有UCS,user coordinate system 即用户坐标系)AutoCAD默认的坐标系统,是固定的坐标系,绘制图形时,多数情况下都是在该坐标系统下进行的。

(T)发布地图的方式

发布地图有两种方式:一种是用桌面GIS程序ArcCatalog 发布地图服务,一种是用ArcGIS Server Manager发布地图服务

ArcGIS清理缓存:http://xiaokui:8399/arcgis/rest/admin/

(U)当浏览器Window窗口发生resize变化,Map该如何处理? 

当浏览器window对象resize时,ArcGIS JavaScript.API 是不会自动调整的。当包含map对象的父HTML元素resize,必须人工的调用Map.resize()以适应尺寸的变化。同样的,如果这个父HTML元素的位置发生变化,则需要调用Map.reposition().

在IE中,对于window对象的像素尺寸变化,以开似乎就会触发resize事件,即window.onresize。这样的话就会大大降低应用程序的性能,特别是当map占了整个浏览器window对象长度和高度,或者这个map的父HTML元素,每次都会随着IE浏览器尺寸resize而变化的情况。

我们需要设置一个时间的延迟,以应付上面的情况。代码类似如下:

var resizeTimer;
function init() {
    var map = ...;
    dojo.connect(globals.map, 'onLoad', function (map) {
        //监听window.onresize事件
        dojo.connect(dijit.byId('map'), 'resize', resizeMap);
   });
}
function resizeMap() {
    //清除已经存在的Timer
    clearTimeout(resizeTimer);
    //创建新resize Timer,让它延迟0.5秒触发
    resizeTimer = setTimeout(function () {
         map.resize();
         map.reposition();
    }, 500);
}

(V)使用代码提示问题

在网上下载代码提示js文件即可配置

参考地址:http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi_start.htm

如:

ArcGIS开发Questions小总结

虽然它有很好的代码提示,但是有可能会产生未知的错误。有可能你的代码非常正确,带加上它以后无法显示,为浏览器也不会报错的情况,建议在运行时将它注释

(W) ....


未经允许请勿转载:程序喵 » ArcGIS开发Questions小总结

点  赞 (5) 打  赏
分享到: