采用 Model-First 方式创建数据库_第1页
采用 Model-First 方式创建数据库_第2页
采用 Model-First 方式创建数据库_第3页
采用 Model-First 方式创建数据库_第4页
采用 Model-First 方式创建数据库_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、采用Model-First方式创建数据库步骤1:创建解决方案1.运行Vistual Studio 2010 Beta2。2.在开始页面上点击“new project”。3.点击C#节点,可以看到已经安装的项目模板。4.在模板列表中选择ASP.NET Web Application。5.输入项目名“OrderSystem”,点击“ok”。这时,VS会在你指定的目录,创建一个解决方案,在该目录的子文件下创建一个网站项目。步骤2:创建ADO.NET 实体对象模型下面就是创建ADO.NET 生实体模型了。对于本程序来说,我们有Users和Addresses两个概念模型。一个user可能有多个addre

2、ss,在模型中要体现这个关系。1.在OrderSystem上右键,选择Add,点击New Item.(或者使用快捷键Ctrl+Shift+A)。2.点击C#节点下面的Data子节点。3.选择ADO.NET Entity Data Model 模板。4.将名字改为“OrderDB.edmx”,点击“Add”按钮。5.VS将会显示Entity Data Model Wizard.你可以选择模型的来源。6.选择“Empty Model”,点击“Finish”按钮。OrderDB.edmx将会添加到你的项目中,同时会显示Entity Framework 设计器。步骤3:创建实体关系下面将会创建user

3、实体已经它与addresses实体的关系,首先创建user实体。1.在Entity Framework 设计器右键,Add-Entity。2.你会看到“Add Entity”对话框,输入实体名。需要注意的是,当你输入实体名时,系统会自动产生实体集合的名称(实体名是一个代表一条纪录的类的名称,实体集后则是一个代表一组纪录的类的名称)。3.VS默认会产生一个名为Id的主键。如果把你不想产生主键,不要选择“Create key property”。本例中需要主键,所以保持选择状态。4.点击“OK”,UserAccout实体将会添加到实体图表中。5.接下来是给实体添加属性。这些属性将会映射到数据表中的

4、字段。我们将会添加FirstName和LastName属性。6.在UserAccount上右击。选择Add-Scalar property。7.将属性名改为FirstName。8.在属性窗口中,将最大长度设为50,数据类型不用改,默认是String.9.以同样的方式添加另一个名为LastName的属性,最大长度也设为50。下面是添加纪录创建时间和更新时间属性。我个人比较倾向于在每个实体中添加创建时间和更新时间属性,这样可以方便以后审查。这两个属性将作为一个复杂类型添加在每个实体中。复杂类型可以让你定义一组属性,满足各种实体的需求。10.模型浏览窗口中,在Complex Types 节点上右击。

5、有时可能要多点击几下才能选中,这可能是VS Beta2的bug。点中Coomplex Types后,在弹出的菜单中选择“Create Complex Type”。11.将复杂类型的名字改为 AuditFields。12.右击模型浏览窗口的AuditFileds复杂属性,在弹出的菜单中,选择Add-Scalar Property-DateTime。13.将名字改为“InsertDate”。14.用同样的方式添加UpdateDate属性到该复杂类型中。15.接下来你可以添加该复杂类型到UserAccount实体了,右击UserAccount实体,在弹出的菜单中选择Add-Complex Prope

6、rty。16.将名字改为“AuditFileds”,数据类型默认为AudtFields。17.在设计器上右击,弹出的菜单中选择Add-Entity.18.实体名字改为“Address”,点击“OK”。19.给Address实体添加Address1,Address2,City,State和Zip属性,所有的属性都为String类型,数据长度分别为:50,50,50,2和5。20.在属性窗口中,将Address2的Nullable设置为True,其他几个属性都是必填的。21.同样,给Address实体添加AuditFileds属性。下面就是建立UserAccount和Address实体之间的关系了

7、。22.右击UserAccount实体,弹出菜单中选择Add-Association。23.你会看到在Add Association窗口默认设置好了UserAcccount和Address一对多的关系,如果你要设置不同类型的关系,在Mutiplicity下拉框中选择就可以了,本例中保持默认就可以。点击“OK”后,你会看到Address表多了一个UserAccountId属性。步骤4:生成数据库实体已经创建好了,下面是创建数据库了。在VS操作这些非常方便,它将会产生用来创建表,索引和表关系的DLL语句脚本。1.在设计器上右击,选择Generate Database from Model.将会出现

8、Generate Database Wizard窗口。2.点击“New Connection”按钮。3.输入Server name,选择Windows Authentication 或 SQL Server Authentication,这取决于你数据库系统的连接方式。4.数据库名输入“OrderSystem”,点击“OK”。5.这时VS会提示你数据库不存在,问你是否新建一个数据库,点击“Yes”。6.数据库“OrderSystem”创建好后,会返回到Generate Database Wizard窗口,点击“Next”。7.用于创建数据库的DLL语句这时就生成了。8.点击“Finish”按钮

9、。9.你会看到项目中多了一个OrderDB.edmx.sql文件,它里面包含用来创建数据库的DLL语句。文件内容如下: HYPERLINK /lloydsheng/archive/2010/04/16/1713825.html l viewSource#viewSource o view source view source HYPERLINK /lloydsheng/archive/2010/04/16/1713825.html l printSource#printSource o print print HYPERLINK /lloydsheng/archive/2010/04/16/1

10、713825.html l about#about o ? ?01SET QUOTED_IDENTIFIER OFF; 02SET ANSI_NULLS ON; 03GO 04USE OrderSystem 05GO 06IF SCHEMA_ID(Ndbo) IS NULL EXECUTE(NCREATE SCHEMA dbo) 07GO 08- 09- Dropping existing FK constraints 10- 11IF OBJECT_ID(Ndbo.FK_UserAccountAddress, F) IS NOT NULL12ALTER TABLE dbo.Addresses

11、 DROP CONSTRAINT FK_UserAccountAddress 13GO 14- 15- Dropping existing tables 16- 17IF OBJECT_ID(Ndbo.UserAccounts, U) IS NOT NULL18DROP TABLE dbo.UserAccounts; 19GO 20IF OBJECT_ID(Ndbo.Addresses, U) IS NOT NULL21DROP TABLE dbo.Addresses; 22GO 23- 24- Creating all tables 25- 26- Creating table UserAc

12、counts 27CREATE TABLE dbo.UserAccounts ( 28Id int NOT NULL, 29FirstName nvarchar(50) NOT NULL, 30LastName nvarchar(50) NOT NULL, 31AuditFields_InsertDate datetime NOT NULL, 32AuditFields_UpdateDate time NOT NULL33); 34GO 35- Creating table Addresses 36CREATE TABLE dbo.Addresses ( 37Id int NOT NULL,

13、38Address1 nvarchar(50) NOT NULL, 39Address2 nvarchar(50) NULL, 40City nvarchar(50) NOT NULL, 41State nvarchar(2) NOT NULL, 42Zip nvarchar(5) NOT NULL, 43AuditFields_InsertDate datetime NOT NULL, 44AuditFields_UpdateDate time NOT NULL, 45UserAccountId int NOT NULL46); 47GO 48- 49- Creating all Prima

14、ry Key Constraints 50- 5152- Creating primary key on Id in table UserAccounts 53ALTER TABLE dbo.UserAccounts WITH NOCHECK 54ADD CONSTRAINT PK_UserAccounts 55PRIMARY KEY CLUSTERED (Id ASC) 56ON PRIMARY 57GO 58- Creating primary key on Id in table Addresses 59ALTER TABLE dbo.Addresses WITH NOCHECK 60A

15、DD CONSTRAINT PK_Addresses 61PRIMARY KEY CLUSTERED (Id ASC) 62ON PRIMARY 63GO 64- 65- Creating all Foreign Key Constraints 66- 67- Creating foreign key on UserAccountId in table Addresses 68ALTER TABLE dbo.Addresses WITH NOCHECK 69ADD CONSTRAINT FK_UserAccountAddress 70FOREIGN KEY (UserAccountId) 71

16、REFERENCES dbo.UserAccounts 72(Id) 73ON DELETE NO ACTION ON UPDATE NO ACTION74GO需要注意的是,现在数据库还没有创建相应的表。要创建这些表,你可以打开OrderDB.edmx.sql文件,右击选择Execute SQL。这时VS会提示你连接到数据库系统,输入相关信息,点击“Connect”,登陆成功后,将会执行这些SQL语句,执行完后数据库的表就创建好了。小结以上就是采用Entity Framework的Model First方式创建数据库的的所有步骤了。相比以前的版本,有相当大的改进,现在你只需要设计对象模型,VS

17、会自动帮你生成创建数据表,索引,表关系的语句。本文是该系列文章的第一篇。以后的文章将会带你逐步深入到Entity Framework4和ASP.NET 4.0的世界。下一篇文章将会向你介绍如何呈现这些数据,以及采用Entity Framework4进行数据的增删改查,希望你能喜欢。 HYPERLINK /2010/04/aspnet-40-and-entity-framework4-part1-create-database-using-modelfirst-development.html LloydSheng项目文件: HYPERLINK /lloydsheng/OrderSystem.z

18、ip /lloydsheng/OrderSystem.zip独立博客本文链接: HYPERLINK /2010/04/aspnet-40-and-entity-framework4-part1-create-database-using-modelfirst-development.html /2010/04/aspnet-40-and-entity-framework4-part1-create-database-using-modelfirst-development.html附录资料:WebGIS超详细版复习资料WebGIS复习资料第一章 绪论WebGIS的基本概念(熟悉GIS+WWW=

19、Web GISWeb GIS是指基于Internet平台进行信息发布、数据共享、交流协作Web GIS由多主机、多数据库、多终端,通过Internet/Intranet连接组成,具有C/S结构,服务器端向客户端提供信息和服务,客户端具有获得各种空间信息和应用的功能Web GIS的特点Web GIS的逻辑结构Web浏览器:获取网上各种地理信息Web GIS的信息代理:提供数据访问接口Web GIS服务器:提供地理信息服务传统GIS的问题文件服务器结构的处理能力完全依赖于客户端客户端的任何操作复杂,多版本,数据完整性难以控制成本高桌面系统操作复杂Web GIS的优点Web GIS是集成的全球化的客

20、户/服务器网络系统Web GIS是交互系统,用户可在Internet上操作GIS地图和数据,使用Web浏览器进行Zoom、Pan、Query、Label等,甚至空间查询Web GIS是分布式系统,GIS数据和分析工具是独立的组件和模块,可部署在不同的计算机Web GIS是动态系统,可随时更新Web GIS是跨平台系统,对任何计算机和操作系统都没有限制Web GIS能够访问异构地理数据Web GIS是图形化的超媒体信息系统,通过超媒体热链接(或地图上的热点)可以连接到不同的地图页面应用层面空间数据发布:能够以图形方式显示空间数据,较之单纯的FTP方式,WebGIS使用户更容易找到需要的数据;空间

21、查询检索:利用浏览器提供的交互能力,进行图形及属性数据库的查询检索;空间模型服务:在服务器端提供各种空间模型的实现方法,接受用户通过浏览器输入的模型参数后,将计算结果返回。Web资源的组织:在Web上存在着大量的信息,这些信息多数具有空间分布特征,如分销商数据往往有其所在位置属性,利用地图对这些信息进行组织和管理,并为用户提供基于空间的检索服务,无疑也可以通过WebGIS实现。几种商业化Web GIS平台(了解)MapInfo公司的MapXtremeESRI公司的ArcIMSAdobe公司的 MapGuide超图公司的SuperMap IS中地公司的 MAPGIS IMS计算机网络基本原理计算

22、机网络的发展(了解)第一阶段:以主机为中心的联机终端系统。第二阶段:以通信子网为中心的主机互联 通信子网和资源子网的分离第三阶段:开放化标准化网络 开放系统互联参考模型协议、TCP/IP协议第四阶段:宽带综合业务数字网 综合、高速、智能计算机网络的分类(熟悉)按地域大小局域网 广域网 城域网按通信媒体有线网 无线网 有线无线混合网按数据交换方式分线路交换方式 报文交换方式 分组交换网络按使用范围分公用网 专用网OSI开放系统参考模型(了解)几种基本网络设备中继器(转发器)(物理层)网桥(网能够络分段、局域网互联)(数据链路层)路由器(网络连接、路径选择)(网络层)网关(不相同的网络互联时的设备

23、)(高层)(协议网关、应用网关、安全网关)TCP/IP协议作为当前公认的工业标准,TCP/IP协议的特点开放性,独立于硬件,免费统一分配网络地址高层协议标准化IP地址原理IPV4IP地址=网络ID+主机IDIP地址分类A类 0开头 后24位为主机IDB类 10开头 后16位为主机IDC类 110开头 后8位为主机IDD类地址 1110开头 多重广播E类地址 11110开头 实验性地址 域名系统(Domain Name System,DNS) 是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址

24、,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。组织模式下的顶级域名表顶级域名网络属性顶级域名网络属性顶级域名网络属性com盈利商业实体mil军事机构或组织store商场edu教育机构或设施net网络资源或组织wb有关实体gov非军事政府或组织org非盈利组织机构arts文化娱乐int国际性机构firm商业或公司arc消遣性娱乐主机的IP地址和域名的关系两者是等价的相当于身份证号码和人名但域名具有排他性域名与IP地址被存储在DNS(域名服务器)中。地址和域名的解析域名解析器 客户端程序,负责查询域名服务器

25、主域名服务器 转发域名服务器关于Web的一些基本概念WWWWorld Wide WebWeb由一系列链接连接起来Tim Berners Lee WWW的主要特点(熟悉)用户在全世界范围内查询、浏览最新信息支持超文本和超媒体信息服务使用浏览器作为统一的用户接口由资源地址域名和Web站点构成可以将Web站点互相连接,以提高信息查找和漫游访问服务能使用户与信息发布者或其他用户交流信息WWW的工作模式(熟悉)Web浏览器/Web服务器在浏览器中输入Web地址,向某个服务发出HTTP请求Web服务器收到请求后,在HTML文档中找到特定的页面,将请求返回给用户浏览器执行收到的HTML文档并显示内容HTTP

26、协议(熟悉)HTTP协议:基于Cilent/Server的无状态和无连接协议简单灵活:get/post/head元信息:可以传输任何类型的资料无连接:建立在TCP协议之上,每次连接只处理一个请求无状态:双刃剑统一资源定位符 (掌握)URL“协议:”+“/”+“主机域名/IP地址”+“目录路径”协议:HTTP/FTP/GOPHER/NEW/TELNET/Wails/File/TUNDER/Web应用开发技术介绍VBSCRIPTJAVASCRIPT动态网页技术CGIASPJSPDHTMLPHP第三章 Web GIS基本原理1.WebGIS概述1.1 Web GIS的发展 1993Xerox Map

27、 Server,第一个分布式地理信息系统应用原型系统 1993.11 挪威Tromso大学,第一个地图Web服务器 1994.1 虚拟旅行者 1994 大发展 NSDI;UCSB; 1995 地图引擎的出现1996年 主要地理信息厂商介入1997年 DGI和Web GIS正式出现1998年 基于JAVA的WebGIS出现1999年 组件式WebGIS开始研究.2005年 瓦片式地图服务出现(GoogleMap)2006Bing/Baidu/MapABC/WPS/WMS1.2 Web GIS的信息内容构建信息内容涉及到信息组织、信息交互、信息表达、综合分析、数据安全和开放性信息组织:如何向客户端

28、浏览器用户以最佳方式提供需要的信息 (1)一次传输整个数据文件 (2)一次仅传输数据文件中需要的部分 (3)以图像方式传输空间数据信息交换:实现客户端与服务器的信息交流,使用一整套信息交换协议。协议一般分为请求/应答两个相互对应的部分。 功能包括:数据请求/信息查询/分析/制图/帮助/控制/元数据请求 主要方法:请求/响应模式信息表达: 操作界面的组织 空间信息的表达方式: 地图符号/专题图/统计制图结果/图例/文字信息描述等综合分析: WebGIS不能仅仅满足对空间数据的浏览和简单的数据查询,需要有完备的空间查询和空间分析能力,需要对数据库中的空间和属性数据进行复杂的处理数据安全: (1)数

29、据库访问控制 (2)用户注册与认证 (3)加密策略开放性 网络的可维护性 动态集成用户分析模型的能力 接受多种数据格式的能力 与其它系统集成的能力1.3 Web GIS的应用模式 (熟悉)Web GIS 应用模式 空间数据发布 空间查询检索 空间模型服务 Web资源组织原始数据下载不做任何处理,仅仅将空间数据通过FTP协议下载,这是最原始的WebGIS应用工作原理:服务器上的数据通过浏览器被下载到客户端,客户端的GIS软件即可使用这些数据缺点:无法在线浏览,GIS软件系统必须理解数据格式静态地图图像显示最简单Web的在线浏览方式服务器上使用GIS软件或者手工创建或生成地图图像,在HTML文档中

30、包含地图图像。Web浏览器即可在线浏览缺点:无法定制地图图像大小 无法进行要素查询元数据查询通过Web发布元数据,使用户及时了解自己所关注的空间数据情况,并通过适当的途径得到满足应用要求的空间数据。两种服务模式: 空间数据提供商自建元数据服务器发布; 空间数据交换中心发布两种查询方式: 通过元数据项值查询 通过图形界面查询动态地图浏览产生交互式地图浏览的一种方式图像不是静态图像,而是根据确切的参数(比例尺、位置、专题等)在使用过程中临时生成原理:Web浏览器发出URL请求给Web服务器,Web服务器根据URL请求及相应的参数,启动地图生成器,GIS接口程序,GIS软件或制图脚本,临时生成地图图

31、像,并将其传送给Web浏览器显示数据预处理不是简单将分布式地理信息数据简单下载给用户使用在数据传输之前,对原始数据进行预处理预处理:对数据格式变换、数据的投影变换以及坐标系统变换等经过预处理之后,用户便可以直接使用预处理后的数据数字区域空间信息管理与发布多比例尺、多源数据、分布式、多时态、多种数据格式基础地理信息实现Web GIS的基本方式 (熟悉)基于CGI方式 CGI是Web服务器调用外部应用程序的标准接口,用于在超文本文件和服务器主机应用程序间传递信息。 CGI程序语言可以是C、SHELL/VB/Fortran CGI程序是一个可执行程序。基于CGI方式的WebGIS工作原理:CGI方式

32、的Web GIS特点优点: 瘦客户端:客户端不需要安装任何软件,有支持标准HTML的Web浏览器即可 CGI跨平台缺点: 网络传输负担大 服务器负担重 同步多请求 静态图像 用户界面功能受Web浏览器影响相似的原理有ProServer/ArcViewIMS/MapObject/YahooMap与CGI方式原理类似的有 Server API:不能跨平台,依赖于Web服务器;效率比CGI方式高; JAVA Servlet:采用JAVA开发,面向Web服务器的小应用程序。方式灵活,效率高,跨平台,主流技术基于Plug-in方式Plug-in原理: NetScape提出 标准,一种接入浏览器程序的动态

33、链接库,采用DLL方式,可以很好地解决与浏览器程序间的相互调用问题。 胖客户端,能够正确地浏览很多数据类型,在浏览器端完成矢量信息的显示 插件:能够与浏览器交换信息的软件Plug-in方式的WebGIS工作原理Plug-in方式特点: 优点 无缝支持与GIS数据的连接 GIS操作速度快 服务器和网络传输负担轻 缺点: 平台相关 数据类型相关 需要事先安装 更新困难 操作分析资源能力弱基于ActiveX方式ActiveX是微软公司为适应因特网而发展的标准,是建立在OLE标准上,为扩展微软的Web浏览器功能而提供的公共框架,关于完成具体任务和信息通讯的的软件模块。ActiveX能够被任何支持OLE

34、标准的语言或应用程序所使用。IE浏览器作为容器,任何符合ActiveX的控件都能被嵌入网页中。ActiveX具备能够访问客户端本地系统的能力,功能强大,但存在隐患。ActiveX第一次安装需经过下载和用户确认Object标记在网页中用于定位ActiveX基于ActiveX的Web GIS功能工作原理基于ActiveX的Web GIS的特点优势:具备GIS Plug-in的所有优点,比plug-in模式更灵活,使用更方便缺点: 需要下载 与平台相关 与浏览器相关 使用已有的GIS操作分析资源的能力弱,处理大型的GIS分析能力有限 存在信息安全隐患基于JAVA Applet方式JAVA Apple

35、t原理 Applet是小型的JAVA应用程序,专门为建立动态的Web网页而设计 每次随网页一起被加载到客户端,然后再客户端调用JAVA虚拟机执行 通过标签来调用 Applet仅仅被加载到客户端内存中,退出时会被回收,故不占磁盘 Applet不能访问本地文件系统,安全性较好基于JAVA APPLET方式的WebGIS工作原理基于JAVA Applet方式的WebGIS特点优点: 体系结构中立,与平台与操作系统无关 动态运行,无需预先安装 GIS操作速度快 服务器和网络传输负担轻缺点: 使用已有的GIS操作分析资源能力弱,处理大型的GIS分析能力有限 GIS数据的保存,分析结果的存储和网络资源的使

36、用能力有限几种方式的比较性能指标CGIPlug-inJAVA AppletActiveX执行能力客户端很好好好好服务端差到好好很好很好网络差好好好总体一般好好到很好好到很好相互作用相互作用差好很好很好功能支持一般 好很好很好本地数据支持否是否是可移动性很好差好一般安全很好一般好一般3.3 Web GIS空间数据组织WebGIS空间数据特点:分布式、多源、异构、特定的用户显示界面。1、地理信息本身的分布式特征 平面的分布 垂直的分布 分布的数据可能由不同的地域、不同的部门予以维护,其数据库服务器呈现分布式,具备不同网络地址2、地理信息存储方式不同,呈现出异质的特点 不同种类的数据可能采取不同的存

37、储方式 不同类型的软件的数据格式存储也迥然不同。ArcInfo的E00/MapInfo的MIF/AutoDesk 的DXF3、 中间件应用服务平台不同 部署Web GIS的平台也很多,包括操作系统平台和硬件平台的不同。WebGIS的客户端不同,支持的地理信息格式不同 三种类型: 专用的地理信息浏览器:ArcExplorer,GoogleEarth通用浏览器+地理信息显示插件:MapXtream通用浏览器:ArcIMS MapGIS IMS等需要将分布式、不同存储方式、不同存储格式和不同用户表现的信息叠加在同一个或这个多个分布式地理信息服务下进行解析、处理和生成结果。对于一个分布式的特定的地理信

38、息服务,其数据流程表现出分布式存储、集中式处理和不同格式分发等特点Web GIS地理信息空间数据服务流程Web GIS 地理信息服务空间数据流程 1服务消费者想分布式地理信息服务提供商发出特定知识请求 2.分布式地理信息服务提供商处理数据请求,把请求分类,把数据请求转发给数据提供商 3.数据提供商处理数据请求,把数据发送给分布式地理信息服务提供商 4.分布式地理信息服务提供商对数据根据用户的请求进行处理后,形成知识相应给服务消费者 5.服务消费者根据响应做进一步的处理超地图模型超媒体+地图=超地图超地图=具备地理参考的超媒体以地图为起点,空间链接和专题链接的集合文本超文本超文档超地图超地图的应

39、用主要体现在空间浏览和专题浏览上。采用超地图概念能够将不同地域的空间数据库有机组织起来分布式超地图模型1、分布式超地图模型由一系列空间对象构成2、每个空间对象包含四个基本内容 对象唯一标识,超媒体,超图形,超链接3、超地图二假定 1)确定的超地图的空间对象具有相同的时间和比例尺 2)超地图的空间对象的非空间属性由超媒体表达,空间属性超图形由超图形表达超链接定义了OS内部之间、对象O之间以及超地图H内部之间,超地图H之间非顺序链接关系和操作符方法的集合。SHL = TypeID,Type,TypeFeature,AttributeFeatureTypeID =4D,Multiscale,Meta

40、data,Content,ClearHousingType=DataFile,Component,JDBCTypeFeature=Fnext,Fpre,Fsup,Fsub,Fsql,Fcurrent,Fmetadata,Fcontent, Fclearhousing,FotherAttributeFeature=Name,Location,ProtocolH=HM HG HL超媒体内部关系:多媒体的表现;综合,空间分析,统计制图超图形内部关系:空间信息表达,空间关系超媒体和超图形的相互关系:相互查询、专题制图、几何综合超地图之间的关系: 部分与整体的关系 地图概括关系 时间序列关系 武断链接关

41、系基于超地图的WebGIS空间数据组织分布式地理信息服务的处理服务可以看成为集中不同类型的超地图的操作。这些操作包括: 联合操作;交操作;差操作;投影操作;选择操作;笛卡尔积操作;连接操作基于GML的异构WebGIS空间数据组织XML概述 XML(eXtensible Markup Language) XML是1986年公布的(SGML)的子集 具备扩展性、文件自我描述、强大的文件结构化功能 一种用于定义其它语言的语言元语言 主要用途:元标记语言,定义其它语言,数据交换HTML与XML对比 (掌握)HTMLXML不具备扩展性元标记语言,可以用于定义新的标记语言侧重于表达信息侧重于结构化地描述信

42、息不要求标记的嵌套、配对等,不强制要求标识之间有一定的顺序严格要求嵌套、配对、并遵循DTD、SCHEMA的树形结构难以阅读、维护结构清晰,便于维护内容描述与显示方式整合成一体内容描述与显示方式分离已有大量的编辑、浏览工具编辑、浏览工具尚不成熟(这条忘掉)GML概述GML是XML在地理信息系统中的应用。GML3.0简介GML 3.0版是对GML 2.0版的扩充,并且向后兼容。Schema集合的组织具有了模块化特点,即用户能够有选择地使用所需部分,减化和缩小了执行的尺寸,提供了面向WEB应用、基于对象的地理数据描述语言。此外,3.0版增加了对复杂的几何实体、拓扑、空间参照系统、元数据、时间特征和动

43、态数据等的支持,使其更加适合描述现实世界问题,如基于位置服务的行程安排和高速公路设计等。 主要特点GML 3.0版新增的主要特性包括: 增加了复杂的空间几何元素,如曲线、表面、实体等,允许使用几何元素集合; 支持拓扑的存储,可表示定向的节点、边、面和三维实体; 引入了空间参照系统,给出了描述空间系统的框架,并预定义很多公用方案; 提供建立元数据与特征(属性)间联系的易于扩充的框架机制; 增加了时间特征和描述移动物体的能力,具有标准的年、月、日、时、分、秒模式和位置、速度、方位、加速度等动态特征。GML3.0设计目的为数据存储和传输提供一种空间信息编码方式高扩展性,满足从空间描述到空间分析不同空

44、间任务需求渐进的、模块化方式建立WebGIS基础对几何信息的高效编码空间信息与非空间信息的分离集成空间数据与非空间数据空间元素和其它空间与非空间元素的链接提供了一系列通用的地理模型对象,使独立开发的应用之间可以互操作GML3.0核心模式要素模式几何模式拓扑模式GML应用模式与核心模式的关系核心模式定义构建地理要素的基本组件应用模式在核心模式的基础上提供具体要素的定义(道路、河流、建筑物等)GML表示水井的例子 W1 5 rainwater 3.5 4.2 基于GML的异构WebGIS空间数据组织GML优点内容和形式分离GML遵循HTTP协议GML开放、自我描述、与非空间属性的集成XML 处理接

45、口主要接口:DOM(文档对象模型) SAX(XML简单应用程序接口)DOM:必须先在内存中构建一个DOM树,然后再去处理相应的节点添加、删除、查询等工作。对于较大的文档,比较占内存,不宜处理较大文档SAX:事件驱动模式,不必将所有的XML文档读入内存,适合处理大型文档。主要实现:JAXP、JDOM/XML4J/EXPAT/MSXMLWeb GIS应用服务器应用服务器是一个基于组件的中间层集成框架,它为组件的运行提供了运行环境,基础服务和管理功能。组件负责封装业务逻辑和业务数据并依赖于应用服务器工作。一般位于多层模式的中间层,与Web服务器集成使用,形成完整的基于Web的分布式应用运行环境几种基

46、本的应用服务器开发技术DCOM技术 是对COM技术的扩展,提供了一种使组件加入网络环境的网络协议,使用户可以将对于COM组件的应用、组件、工具以及知识转移到标准化的分布式计算领域中来。CORBA(普通对象请求代理架构) 由对象管理集团(OMG)定义的在不同语言、不同平台上实现对象的一种面向对象应用程序的体系规范。在不同的操作系统、语言、软件、网络协议和硬件结构之间提供给用户在应用层端到端的互操作。它由定义语言、接口和协议代理构成。ORB(对象请求代理) 为所有的对象提供一种面向总线的机制,在对象之间建立客户/服务器关系的中间件,提供了对象间信息流动所需的通路,使得独立的软件单元在异构环境下无缝

47、地交互操作。利用ORB,客户端程序能够以访问本地对象的方式访问远程服务对象。IDL(接口定义语言) 规定了组件的边界以及组件与潜在客户之间的接口,它是描述性语言,没有任何具体实现,给所有驻留在CORBA总线上的服务和组件提供了与操作系统与编程语言无关的接口。语言映射:将IDL定义的接口语言映射成具体的程序设计语言,例如C、C+、JAVA、SmallTalk等 接口库(IR):接口存储库是运行时的分布式数据库,包含了IDL所定义的接口 动态调用接口(DII)在运行时发现将被调用的对象网络接口对象请求代理协议(IIOP) 定义了如何在TCP/IP传输上构建GIOP,GIOP定义了传送语法和消息格式

48、的标准集,能够在任何面向连接的传输上实现ORB间的互操作性。WebGIS应用服务器框架WebGIS应用服务器是WebGIS应用信息系统的核心部分,所有的应用逻辑相关方法、模型和模型服务都是在应用服务器上实现。服务器用于执行特定公司或者部门的应用功能,通过处理由空间数据交换中心的数据来得到应用逻辑结果。数据库应用服务器则由模型库、方法库、知识库和相应的数据库管理系统构成。J2EE技术(JAVA EE)一种利用JAVA2平台来简化与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构提供了一个基于组件的方法,设计、开发、装配及部署企业应用程序。多层的分布式应用模型、组件重用、基于XML的数据

49、交换、统一的安全模式以及灵活的事务控制。基于J2EE的Web GIS应用服务器框架图第四章 WebGIS应用技术SVG在WebGIS中的使用SVG是Scalable Vector Graphics 的英文缩写,意即可升级的矢量图象,是一种基于XML标准的图形影像描述语言。SVG的产生有其客观必然性。进入20世纪90年代末,因特网的迅速发展使网上传统的栅格图像如(GIF,JPEG和PNG)已经很难满足人们的需要,为此,各知名厂商都纷纷推出了各自的Web图像解决方案。SVG 规范概述作为一种基于XML的二维欠量图形描述语言,SVG规定了17类80多种元素,涉及基本图形、文字图象的显示,图形元素动面

50、、超链接、颜色渐变、透明效果、滤镜效果、剪辑处理、模板、合成以及模式填充等方面。总的来说,SVG支持以下三个方面的内容。1、对矢量图形的支持矢量图形是用点和线来描述的,可以大大减少文件长度,提高传输效率。更重要的是,它将对图形效果的显示由服务器端移到客户端,可以充分利用客户端的资源,减轻服务器端的负担。 SVG有专门用于矢量图形描述的标记,包括矩形、圆、椭圆、直线,折线和多边形。此外,SVG还支持图形绘中制常用的、由Bezier曲线定义的路径描述和操作,其面系标记为。有了以上定义就可以对相应路径进行勾勒、填充、裁减和合成等一系列操作。2、对图像过滤操作的支持目前,网上传输的图像主要采用GIF、

51、JPEG和PNG三种格式。尽管它们具有高压缩比、低容量的优点,但即便要将其作一点微小改动,也必须利用图软件将其重新制作和储存。SVG支持对图像一系列常用的过滤操作,使得图效果调整的任务可以在客户端进行。使用标记可以定义过滤器效果,在其中按照要施加的过滤操作顺序依次一次罗列相应的标记。例如,要定义一个阴影顾虑作用,标记对中依次写入(高斯滤波)、(平移)、扩散和(合成)。3、对动画的支持目前,Web上播放的动画多为GIF格式,它也存在着与网上传输图像格式相同的问题。即修改在服务器端实现,而不是客户端实现。SVG中提供了专门动画元素,可以描述一个图形图像元素的实时变化。 SVG中用标记描述元素的缩放

52、、旋转、偏斜等变换效果,用描述元素颜色的改变,还可以用描述元素淡入淡出的效果。SVG的优点基于SVG的Web GIS由上而的讨论可以看出,SVG是一种完伞丌放的二维矢量数据格式,并得到众多国际知名软件厂商(尤其是Microsoft和Netscape公司的支持,冈此,在web GIS的研究上,若将地理空间数据编码成SVG格式来进行存储传输和表现,会有效地消除现有空问数据格式产的数据传播的问题。在不久的将米,无论是Navigator或是IE都将直接支持SVG,即使在目前,也有多家公司的SVG插件供用户使用,这样,在客户端就无须下载任何数据处理部件。此外,对于众多的非专业用户,一方面可以方便地通过各

53、种通用的SVG创作编辑工具来组织发布自己的空间信息资源,从而使地理信息资源和其他网上资源一样,被整个社会分享,充分发挥其应有的价值;另一方而,由于SVG 中的图形元素具有动画功能,可以产生动画地图,使展现在客户端用户面前的地图更具有表现力。由此可见,将SVG用于Web GIS,具有非常重要的意义。空间数据在SVG 文档中的组织地理空间数据的组织方式:1)拓扑数据模型: 共用点引用,节省存储空间,方便空间分析 维护拓扑关系开销较大2)实体数据模型: 公共节点反复存储,但无需维护实体间的拓扑关系3)SVG仅仅支持基本的图形元素,故需要将空间几何数据按实体模型进行组织。基于SVG的空间数据表达在空间

54、数据处理中,一幅地图被分解为若干图块,每个图块包含若干图层,看作是要素(Feature)的集合(FeatureSet),并描述这些Feature的共同特征。每个Feature对应着一个空间实体,包含有几何属性(Geometry)和非几何属性(属性数据,Attribute)。几何属性又分为点、线、面与复杂几何对象,这几何对象都可以用SVF规范定义的标记表示。属性数据查询属性数据量较小的时候,随脚本文件下载到客户端,在客户端完成查询。属性数据量较大的时候,通过动态页面程序访问数据库并返回属性查询结果。图形数据编码点状要素 线状要素面状要素注记要素 通过Text元素显示图层管理标签,标签能够嵌套标签

55、 标签对中嵌套数据,表示点图层。 标签对中嵌套数据,表示弧段图层。Function MapVisible(checkbox,elementname) var svgdoc=document.embedsprintablemap.getSVGDocument; var svgobj =svgdoc.getElementByID(elementname); if(!checkbox.checked) svgobj.getStyle().setProperty(display,none); else svgobj.getStyle().setProperty(display,inline); 基于S

56、VG的Web GIS体系结构简单模式:事先利用一些工具将GIS数据转换成SVG文档,供客户调用与显示。ArcGIS已有可以将数据直接转换成SVG文档的功能复杂模式:根据用户请求,从空间数据库提取数据,动态转换成SVG。目前浏览器并不直接支持SVG,还需要使用脚本语言进行扩展。VRML 在WebGIS中的应用VRML虚拟现实建模语言使得虚拟现实能够像多媒体和万维网一样,通过Web,走进人们的生活。是一种全新的人机接口。在电子商务、教育、工程技术、建筑、娱乐,艺术等领域有广泛应用。VRML的功能一种进行三维造型和渲染的图形描述性语言,把虚拟世界看成一个场景,场景中的一切看成对象,对每个对象进行描述

57、,构成了WRL文件在网页上实现三维动画效果,同时要实现对于三维对象的用户交互。VRML的主要功能特点 存在感 交互性 立体的视觉和听觉 动画与网络无关,在客户端计算生成 脚本功能 网络引用功能 超链接功能开发工具&浏览器开发工工具:VRMLPad浏览器:CortonaVRML关键技术1、VRML文件 文本文件格式,扩展名为WRL 包含四个重要部分: 文件头(必须) 原型、造型和脚本、路由2、场景图 场景图中有很多对象,每个对象由一个节点(Node)构成。 节点分为组节点、子节点、属性节点 节点按照一定的规则组织起来构成场景图。 两类节点: 静态虚拟场景的的节点 动态效果节点脚本语言 VRML

58、Script JAVA Script原型机制 VRML的内部节点有限制,用户可以通过原型(PROTO)机制自定义新的节点,定义之,原型节点类型就可以像内部节点一样在场景中实例化.用于实现动态交互,在建模中的一些复杂的几何体也必须借助它来完成基于VRML的网上三维GIS系统特点 1)配置灵活,VRML解释任何从服务器传输来的VRML文件,不问文件如何产生。VRML的产生可以使用原始文件,也可以使用程序代码或其它工具生成 2)开发成本低 已有的场景可视化、多媒体集成、漫游、缩放、旋转、切换视点、事件捕获等功能已经开发完毕,开发人员不必考虑这方面的编程 3)平台无关 4)技术不断创新 5)网络带宽要

59、求低地理要素的VRML模拟 1)PointSet节点和Sphere节点 (零维) 2)IndexLineSet节点和Extrusion节点(一维) 3)IndexFaceSet节点(多边形) 4)Box(方盒)Cone(圆锥)Cylinder(圆柱) 5)ElevationGrid节点(地形模拟) 6)LOD节点(层次细节节点) 体系结构基于VRML的WebGIS的核心就是在服务器端的VRML文件通过Web下传到Web浏览器,再通过Web浏览器调用VRML浏览器进行三维场景的可视化。VRML的生成方式 静态生成:预先生成好VRML文件(通过现有工具,3DMAX或Arc/Info) 动态生成:服

60、务器端根据客户端请求实时生成VRML文件,传送给浏览器基于VRML的WebGIS 体系结构4.3 海量遥感影像数据的Web发布目标:海量遥感影像数据的Web发布分析: 1、影像数据特点:数据量大、分布式存储 2、采用C/S结构来存储和管理,多用户时易出现瓶颈。 3、要实现海量影像的发布,需要从头规划1、影像分块为何要分块 图片显示的影像总是较小的一个部分,没必要每次将整个遥感影像下载到浏览器。 通过数据分块,能够减少每次数据的网络传输量,方便数据压缩、有利于在计算机内存中对图像数据进行运算处理。故,对存储的遥感影像需要采用影像分块和重构的方法进行组织2、空间索引遥感影像被分为几百万、上千万的小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论