文档库 最新最全的文档下载
当前位置:文档库 › 基于GeoServer和OpenLayers的WebGIS实现

基于GeoServer和OpenLayers的WebGIS实现

基于GeoServer和OpenLayers的WebGIS实现
基于GeoServer和OpenLayers的WebGIS实现

第25卷 第22期2009年11月

甘肃科技

Gansu Science and Technol ogy

V ol.25 N o.22

N ov. 2009

基于GeoSe r ve r和OpenLaye rs的W ebG IS实现

蒋佩伶,苗 放,张峻骁

(成都理工大学信息工程学院,四川成都610059)

摘 要:Open Layers配合GeoServer开发W ebGI S,减少了开发时间,提高了开发效率。本研究从原理方面分析了OpenLayers和GeoServer,阐述了将GeoServer和Open Layers结合起来开发W ebGI S的设计模式,同时概述了W ebGI S 在数字旅游项目中的应用。

关键词:GeoServer;Open Layers;W ebGI S;应用

中图分类号:TP311

随着I nternet技术的不断发展以及人们对地理信息系统(GI S)的需求的不断增加,利用I nternet在W eb上发布和出版空间数据,为用户提供空间数据浏览、,已经成为GI S发展的必然趋势。于是,基于I nternet技术的地理信息系统———W ebGI S就应运而生了。

1 Geo Se rve r

GeoServer,顾名思义,是一个Server,是一个功能齐全,遵循OGC开放标准的开源W FS-T和WMS服务器。

利用GeoServer可以把数据作为map s/i m ages 来发布(利用WMS来实现),也可以直接发布实际的数据(利用W FS来实现)同时也提供了修改,删除和新增的功能(利用W FS-T)。Geoserver支持多种数据源,有PostGI S、Shapefile、A rcS DE、O racle、VPF、MyS QL、Map I nf o。通过GeoServer可以比较容易的在用户之间迅速共享空间地理信息。

WMS:W eb Map Service(W eb地图服务),其返回的是图层级的地图影像,利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。

W FS-T:W ebFeature Service-Transacti onal (W eb要素服务),其返回的是要素级的G ML编码,并提供对要素的增加、修改、删除等事务操作,是对W eb地图服务的进一步深入。

2 O p enLaye rs

GeoServer是符合OGC WMS/W FS/WCS标准的地图服务器,建设一套完整的W ebGI S系统还需要客户端配合,Open Layers是非常好的一个选择。采用Open Layers,而且OpenLayers实现了类似与A jax功能的无刷新更新页面,能够带给用户丰富的桌面体验。

OpenLayers是一个用于开发W ebGI S客户端的开源的JavaScri p t包。Open Layers的开源方式让精通JavaScri p t的开发人员可以自由添加自己的功能,同时轻量级保证了在商业平台上的应用不受限制。OpenLayers实现访问地理空间数据的方法都符合行业标准。比如OpenGI SWMS(W eb Mapp ing Service)和W FS(W eb Feature Service)规范。

OpenLayers采用面向对象方式开发,并使用来自Pr ot otype.js和R ico中的一些组件,用于在您的浏览器中实现地图浏览的效果和基本的z oom,pan 等功能。OpenLayers支持的地图来源包括了WMS、Google Map、Ka Map、MS V irtualEarth等等,也可以用自己的图片作为源,同样OpenLayers也支持非常多的数据格式,有X ML、G ML、GeoJS ON、GeoRSS、JS ON、K ML、W FS等,在这一方面OpenLayers提供了非常多的选择。

由于OpenLayers采用JavaScri p t语言实现,而应用于W eb浏览器中的DOM(文档对象模型)由JavaScri p t实现,这样就可以很好得将OpenLayers和页面的其它组件契合在一起,如图1所示。

3 基于Geo Se rve r和O p enLaye rs的W eb2 G I S实现

W ebGI S是W eb技术和GI S技术相结合的产物,是利用W eb技术来扩展和完善地理信息系统的一项新技术。

Geoserver中的信息主要是以图形、图像方式表现的空间数据,并以普通数据文件的形式存储在服

图1 O p enLa ye rs DOM结构

务器中。用户通过操作W eb页面,调用Open Layers AP Is向Geoserver发送请求进行交互操作,对空间数据进行查询分析。主要功能有:从地图到数据———鼠标点击地图上某区域则显示该区域内的图片或其它相关信息;从数据到地图———输入查询条件,根据查询结果在地图上用不同色彩显示相关区域。这些特点,使得人们完全可以利用W eb来寻找他们所需要的空间信息,并且进行各种操作。

Open Layers实现的A jax功能,使得人们即便是请求大数据量的空间信息数据时,也不会感到页面过度的延迟,仍然可以较流畅的与页面进行交互。

4 W ebG I S在数字旅游项目中的应用

旅游业能够扩大内需、促进消费,是第三产业的重要组成部分,是世界上发展最快的新兴产业之一。中国入境旅游、出境旅游的规模不断扩大,但是仍存在一个不可忽视的缺点,就是人们在旅游之前对景点的情况知之甚少,人们不知道景点的具体位置,不了解景点地区的风俗民情,不熟悉景点地区的交通情况,这势必会使人们旅游地时候遇到很多的麻烦,而要在网络上搜寻这些的信息又是费时费力的。

数字旅游项目旨在为用户创造更加真切真实的数字虚拟旅游环境,使用户在去景点旅游之前就已经对此景点的样貌,旅游路线,酒店的分布等等有大致的了解,提供一体化的旅游服务。

利用W ebGI S就能很好得实现了想为用户提供的功能。W ebGI S在数字旅游项目中的基本应用,主要表现在可以提供旅游景点地区的概貌地图,甚至是三维街景模型;可以提供旅游景点地区的游览视频文件和图片文件;可以根据用户的旅游需求,提供最佳的旅游线路,或者从酒店到景区门口的行走线路。有了这些信息,人们在去景区游览之前就已对该景区有了大致的了解,减少不必要的麻烦,并且可以根据自己的意愿安排游览次序了。

参考文献:

[1] 宋关福.W ebGI S———基于I nternet的地理信息系统

[J].中国图象图形学报,1998,1(3):2512254.

[2] Geoserver&Open Layers学习笔记[E B/OL].htt p://

https://www.wendangku.net/doc/ee9103067.html,bl https://www.wendangku.net/doc/ee9103067.html,/it olssy/archive/2008/08/03/

1259273.ht m l,2008-08-03.

[3] webgis是什么[E B/OL].htt p://https://www.wendangku.net/doc/ee9103067.html,/gis/gisjc/

200610/274.ht m l,2006-10-29.

(上接第36页)

在分析证券数据特点的基础上,提出了一种基于证券数据局部性特点的孤立点检测算法。该方法适合从海量数据中对孤立点进行快速检测,挖掘粒度灵活可控,可以检测证券市场中的交易异常、违规操作等行为,以便及时发现问题、规避风险。但是,如何设定算法中涉及到的参数,至今还没有一个合理科学的标准。下一步的研究重点是针对数据规模、挖掘粒度和检测内容等不同的情况,提出临近数据相异程度和临近数据规模等参数的设定标准,以便更好的发挥基于证券数据特点的检测算法的作用。

参考文献:

[1] Honda,R.W ang,S.Kikuehi,T.and Konishi,O.M in2

ing of Moving Objects fr om Ti m e-Series I m ages and its

App licati on t o Satellite W eather I m agery[J].The Jour2

nal of I ntelligent I nf or mati on System s.2002,19(l):792

93.

[2] Knorr E M,Ng R T.A Unified App r oach f orM ining Out2

liers[C].Pr oceedings of the7th C ASC ON Conference,

Tor ont o,1997.

[3] Knorr E M.Outliers and data m ining:Finding excep ti ons

in data[D].Ph. D.thesis,THE UN I V ERSI TY OF

BR I TI SH COLUMB I A(C ANADA),2002.

[4] 孙焕良,鲍玉斌,于戈,等.一种基于划分的孤立点检

测算法[J].软件学报,2006,17(5):100921016.

[5] H V J agadish,N Koudas,S Mut hukrishnan.M ining

deviant s in a ti m e series database[C].Pr oceedings of

VLDB,1999:1022113.

43 甘 肃 科 技 第25卷

《WebGIS课程》期末考试复习

网络地理信息系统 第一章绪论 1.名词解释 WebGIS:即互联网地理信息系统,是Internet与WWW技术应用于GIS开发的产物,是利用WEB技术拓展和完善GIS的一项新技术。 2.简答 (1)WebGIS的组成以及各个承担的功能: WEB浏览器:用户通过浏览器获取分布在Internet上的各种地理信息 通信协议:通过相关协议,设定浏览器与服务器之间的通信方式及数据访问接口,是地理信息在Internet上发布的关键技术。 WEBGIS服务器:根据用户请求操作GIS数据库,为用户提供地理信息服务,实现客户端与服务器的交互。 (2)WebGIS的基本架构: (3)WebGIS的特点。 1、基于Internet/Intranet标准 2、分布式体系结构:有效平衡客户端与服务器端的处理负载 3、发布速度快,范围广 4、数据来源丰富,分布储存 5、用户界面友好 6、平台无关 7、成本低廉,操作简单

(4)WebGIS的作用。 <1>促使传统工作站版的GIS走向分布式、大众化,使GIS真正走进人们的生活、工作和学习中; <2>空间数据的分发、获取、浏览更加方便、快捷; <3>更加友好的、互动的可视化界面,是对传统GIS的一种革新; <4>使空间分析无处不在,人们能够随时随地使用GIS的分析功能; <5>将GIS与其他软件系统之间的集成变得更加容易,推动了GIS向纵深快速发展,使GIS走向企业化、社会化、网络化和智能化。 补充知识点: WebGIS基本思想:就是在Internet网上提供地理信息,让用户通过浏览器获得一个地理信息系统中的数据和服务 WebGIS的功能:地图服务、数据查询服务、地理编码服务、要素服务、导航或位置服务、个性化地图服务、远程数据维护功能。 3.论述 结合实例说明当前WebGIS的发展趋势和研究前沿(至少四个)。 大数据、云计算、分布式、三维GIS、移动GIS (1)基于分布式计算的WebGIS 要实现地理信息的分布式计算,必须采用标准的、开放的和广泛支持的分布式对象体系结构。例如,CORBA具有完美的平台无关性和兼容性,如与JAVA结合,可解决代码复杂、实现困难的问题,因而受到日益广泛的支持,必将成为未来WebGIS发展的主流技术 (2)三维GIS 目前GIS大多提供了一些较为简单的三维显示和操作功能,但与真正的三维表示和分析还有很大差距,真正的三维GIS必须支持真三维的矢量和栅格数据模型及以此为基础的三维空间数据库,解决三维空间操作和分析问题。

Fluent经典问题及解答

Fluent经典问题及解答 1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢?(#61) 2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。(13楼) 3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?(#80) 4 常见离散格式的性能的对比(稳定性、精度和经济性)(#62) 5 在利用有限体积法建立离散方程时,必须遵守哪几个基本原则?(#81) 6 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么?(#130) 7 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?(#55) 8 什么叫边界条件?有何物理意义?它与初始条件有什么关系?(#56) 9 在一个物理问题的多个边界上,如何协调各边界上的不同边界条件?在边界条件的组合问题上,有什么原则? 10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别?(#143) 11 在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解?(#35) 12 在GAMBIT的foreground和background中,真实体和虚实体、实操作和虚操作四个之间是什么关系? 13 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节?(#38) 14 画网格时,网格类型和网格方法如何配合使用?各种方法有什么样的应用范围及做网格时需注意的问题?(#169) 15 对于自己的模型,大多数人有这样的想法:我的模型如何来画网格?用什么样的方法最简单?这样做网格到底对不对?(#154) 16 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢?(#40) 17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则?(#170) 18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?(#128) 19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?(#127) 20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的?(#41) 21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么?(9楼) 22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?(7楼)

《WebGIS》作业

太原师范学院2012—2013年第二学期期末考试《WebGIS》试卷 系别:城市与旅游学院 专业:地理信息系统 姓名:吴** 学号:2009*****8

根据你所掌握的知识,谈一谈对WebGIS的认识。 WebGIS的概念: WebGIS(网络地理信息系统)指基于Internet平台,客户端应用软件采用网络协议,运用在Internet上的地理信息系统。一般由多主机,多数据库和多个客户端以分布式连接在Internet 上而组成,包括以下四个部分:WebGIS浏览器(browser),WebGIS服务器,WebGIS编辑器(Editor),WebGIS信息代理(Information agent)。 我个人认为WebGIS是指基于Internet平台进行有关地理信息发布、数据共享、交流协作的工具。客户端应用软件采用WWW协议,实现GIS信息的在线查询和业务处理等功能。运行于因特网上的地理信息系统,是利用Internet技术来扩展和完善GIS的一项新技术,其核心是在GIS中嵌入HTTP和TCP/IP标准的应用体系,实现Internet环境下的空间信息管理。WEBGIS有多主机、多数据库与多终端,通过Internet、Intranet连接组成,具有客户、服务器(C/S)结构,服务器端向客户端提供信息和服务,客户端具有获得各种空间信息和应用的功能。 WebGIS的特征是: 1、WebGIS是集成的全球化客户/服务器网络系统。 2、WebGIS应用客户/服务器概念来执行GIS的分析任务。 3、WebGIS是交互系统 4、WebGIS是分布式系统 5、WebGIS是动态系统 6、WebGIS是跨平台系统 简述WebGIS的几种开发平台。 目前的WebGIS开发平台主要有,MapInfo公司的MapInfo ProServer,Intergraph公司的GeoMedia Web Map,ESRI的ArcIMS&ArcGIS Server,CAD厂商Autodesk公司的MapGuide,国内比较有名的就是超图公司推出的Supermap系列 Intergraph的GeoMedia WebMap:动态发布矢量图、客户可进行空间分析、基于Windows、多数据源。主要完成浏览、查询和分析,未提及可以在客户端修改图形。 AutoDesk的MapGuide:可以查看地图,并为最终用户提供交互式的地图编辑环境。 ESRI公司的ArcIMS:最常用的WebGIS实现方式。跨平台、普通站点能够提供GIS数据和应用服务、支持网络数据与本地数据集成,且同时支持栅格数据和矢量数据格式。 超图公司的SuperMap IS:客户端可实现图像放大、缩小、漫游、属性查询等操作。MapInfo的MapXtreme:在客户端能够实现专题图(利用晕渲、等级符号、独立值、点密度、饼图、直方图进行区域值的显示)、对象处理(合并、缓冲区、相交、删除点线面对象、返回结果数据)、对象编辑(生成、修改、删除)、绘制图层(允许开发人员绘制地图对象)、查找、图层控制(多层地理信息,如层的颜色、缩放、)、空间选择(允许用户在规定的范围内进行选择和操作)、广泛的数据源(ODBC、DAO、ClipBoard、OLE Data等)。 三、实现WebGIS的常用方式。 1.CGI 模式 基于CGI 的WebGIS 是基于HTML的扩展,需要在后台运行GIS 服务器,GIS 服务器和Web 服务器通过CGI 相连。在客户端,Web 浏览器以HTML建立用户界面;在服务器端,GIS软件通过CGI与Web服务器相连。当用户发送一个请求到服务器上,服务器通过CGI 把该请求转发给后端运行的GIS 应用程序,由应用程序生成结果交还到服务器上,服务器再将结果传递到用户端。这种技术的优势表现在:所有的操作、分析由服务器完成,因而客户端很小;有利于充分利用服务器的资源,发挥服务器的最大潜力;客户机使用的支持标准HTML的Web浏览器,因此客户端与平台无关。

OpenLayers二维地图使用教程

OpenLayers 1 OpenLayers简介 OpenLayers是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范,OpenLayers 采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript语言实 现,而应用于Web浏览器中的DOM(文档对 象模型)由JavaScript实现,同时,Web浏览 器(比如IE,FF等)都支持DOM。OpenLayers APIs采用动态类型脚本语言JavaScript编写, 实现了类似与Ajax功能的无刷新更新页面, 能够带给用户丰富的桌面体验(它本身就有一 个Ajax类,用于实现Ajax功能)。 目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。当然,也可以用简单的图片作为源。 在操作方面,OpenLayers 除了可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作,甚至可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。同时,在OpenLayers提供的类库当中,它还使用了类库Prototype.js 和Rico 中的部分组件,为地图浏览操作客户端增加Ajax效果。 2 Openlayers基本使用方法 Openlayers是使用Javascript编写的脚本,与网页设计技术密切相关,因此在使用之前需要掌握一定得相关知识,例如html、css、javascript等。编辑工具推荐使用:EditPlus。 1)下载并拷贝源代码即相关文件 到Openlayers官方网站https://www.wendangku.net/doc/ee9103067.html,下载源代码压缩包,解压后可以看到其中的一些目录和文件。需要拷贝的文件和目录有:根目录下的【OpenLayer.js】文件、根目录下的【lib】目录、根目录下的【img】目录、根目录下的【theme】目录。将这4项内容拷贝到你网站的Scripts目录下(当然,这个只是例子,自己的网站程序目录结构自己说了算,只要保证OpenLayers.js,/lib,/img,/theme在同一目录中即可)。

fluent经典问题整理

网格质量与那些因素有关? 网格质量本身与具体问题的具体几何特性、流动特性及流场求解算法有关。因此,网格质量最终要由计算结果来评判,但是误差分析以及经验表明,CFD计算对计算网格有一些一般性的要求,例如光滑性、正交性、网格单元的正则性以及在流动变化剧烈的区域分布足够多的网格点等。对于复杂几何外形的网格生成,这些要求往往并不可能同时完全满足。例如,给定边界网格点分布,采用Laplace 方程生成的网格是最光滑的,但是最光滑的网格不一定满足物面边界正交性条件,其网格点分布也很有可能不能捕捉流动特征,因此,最光滑的网格不一定是最好的网格。对计算网格的一个最基本的要求当然是所有网格点的Jacobian必须为正值,即网格体积必须为正,其他一些最常用的网格质量度量参数包括扭角(skew angle)、纵横比(aspect ratio、Laplacian)、以及弧长(arc length)等。通过计算、检查这些参数,可以定性的甚至从某种程度上定量的对网格质量进行评判。Parmley等给出了更多的基于网格元素和网格节点的网格质量度量参数。有限元素法关于插值逼近误差估计的理论,实际上也对网格单元的品质给出了基本的规定:即每个单元的内切球半径与外切球半径之,应该是一个适当的,与网格疏密无关的常数。 实体与虚体的区别 在建模中,经常会遇到实体、实面与虚体、虚面,虚体的计算域也可以进行计算并得到所需的结果。那么它们的区别是什么呢? 对于求解是没有任何区别的,只要你能在虚体或者实体上划分你需要的网格。关键是看你网格生成的质量如何,与实体虚体无关。 gambit的实体和虚体在生成网格和计算的时候对于结果没有任何影响,实体和虚体的主要区别有以下几点: 1.实体可以进行布尔运算但是虚体不能,虽然不能进行布尔运算,但是虚体存在merge,split 等功能。 2.实体运算在很多cad软件里面都有,但是虚体是gambit的一大特色,有了虚体以后,gambit 的建模和网格生成的灵活性增加了很多。 3.在网格生成的过程中,如果有几个相对比较平坦的面,你可以把它们通过merge合成一个,这样,作网格的时候,可以节省步骤,对于曲率比较大的面,可能生成的网格质量不好,这时候,你可以采取用split的方式把它划分成几个小面以提高网格质量。 在Fluent中进行非稳态(unsteady)计算时如何设置步长?

openlayers经典例子

Openlayers经典例子 案例地址 (2) 一. Popup (2) 二、图层叠加 (3) 三、编辑功能 (5) 四、鹰眼 (7) 五、书签及样式 (7) 六、改变显示内容 (9) 七、SLD (9) 八、动画效果 (10) 九、获得属性 (11) 十、局部放大 (12) 十一、记录上次操作历史 (12) 十二、鼠标滚轮 (13) 十三、鼠标坐标 (13) 十四、标签 (14) 十五、全屏 (14) 十六、显示缩放比例 (15)

案例地址 https://www.wendangku.net/doc/ee9103067.html,/releases/OpenLayers-2.10/examples/ https://www.wendangku.net/doc/ee9103067.html,/dev/examples/ 一.Popup https://www.wendangku.net/doc/ee9103067.html,/dev/examples/sundials.html https://www.wendangku.net/doc/ee9103067.html,/dev/examples/sundials-spherical-mercator.html

https://www.wendangku.net/doc/ee9103067.html,/dev/examples/select-feature-openpopup.html 二、图层叠加 https://www.wendangku.net/doc/ee9103067.html,/dev/examples/layerswitcher.html

https://www.wendangku.net/doc/ee9103067.html,/dev/examples/wmts-getfeatureinfo.html https://www.wendangku.net/doc/ee9103067.html,/dev/examples/wmts-capabilities.html

Fluent动网格----layering个一个简单实例(作者Snow)

Fluent动网格----layering个一个简单实例我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。 1.Gambit画网格 本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做! 这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要制定。 2.编写UDF #include "udf.h" #include "unsteady.h" #include "stdio.h" #include "stdlib.h" /************************************************************/ real current_time = 0.0 ; Domain * domain ; Thread * thread ; real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment ) ; /************************************************************/ DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime) { current_time = CURRENT_TIME ; vel[0] = 30; Message("time=%f omega=%f\n",current_time) ; }

Openlayers教程

OpenLayers教程 1开始使用openlayers 1.1设置 先到它的官方网站https://www.wendangku.net/doc/ee9103067.html,下载他的压缩包,解压。 拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。然后,创建一个****.html作为查看地图的页面。 2试验openlayers 环境:geoserver1.7 Openlayers2.4 Dreamviever8 2.1第一个地图窗口 目标:用openlayers加载geoserver wms。 步骤: (1)空白html文件 (2)插入div-map (3)为div付风格 以上为未加载地图的静态页面 代码为: 效果为: (4)插入openlayers代码引用 (5)写js代码,主要是init() 第一个地图窗口就完成了 注1.js中defer的作用是页面加载完成后,执行脚本。

注2.222 2.2控制地图与div的占据区域 目标:让地图默认占满展现区 方法: 设置map的options,由其中两个因素决定:maxExtent-最大地图边界;maxResolution-最大解析度。 当maxExtent设置为地图的最大边界后,maxResolution设置为auto,那地图就占满DIV。 var options = { controls: [], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, units: 'degrees' }; map = new OpenLayers.Map('map',options); 2.3地图控制-尺度缩放 目标:填加尺度缩放控件 步骤: (1)map初始化赋参数 var options = { controls: [], //scales: [50000000, 30000000, 10000000, 5000000], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, (表示有几个缩放级别) units: 'degrees' }; map = new OpenLayers.Map('map',options); (2)填加控件,代码 map.addControl(new OpenLayers.Control.PanZoomBar({ position: new OpenLayers.Pixel(2, 15)(右边距,上边距) })); 思考:级别的计算,个人推测由(maxResolution- minResolution)/ numZoomLevels,但是默认值是书面日后再细究。

geoserver

●利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。 这个规范定义了三个操作: ?GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述; ?GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的; ?GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息 WFS: Web Feature Service(Web要素服务) ●Web 地图服务返回的是图层级的地图影像, ●Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删 除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作: ?GetCapabilites 返回Web要素服务性能描述文档(用XML描述); ?DescribeFeatureType 返回描述可以提供服务的任何要素结构的XML文档; ?GetFeature 一个获取要素实例的请求提供服务; ?Transaction 为事务请求提供服务; ?LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求。 WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。 WCS:Web Coverage Service(Web覆盖服务) Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。 ●网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType: ?GetCapabilities 操作返回描述服务和数据集的XML文档。 ?GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能 够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。 ?DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层 的完全描述。 GML: Geography Markup Language. 一种用于描述地理数据的XML。OGC——Open Geospatial Consortium——开放地理信息联盟 总之,GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如:MapBuilder (for web pages), UDig, GVSig,等等。对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。

FLUENT基础知识总结

======== FLUENT基础知识总结 仅仅就我接触过得谈谈对fluent的认识,并说说哪些用户适合用,哪些不适合fluent对我来说最麻烦的不在里面的设置,因为我本身解决的就是高速流动可压缩N-S方程,而且本人也是学力学的,诸如边界条件设置等概念还是非常清楚的同时我接触的流场模拟,都不会有很特别的介质,所以设置起来很简单。 对我来说,颇费周折的是gambit做图和生成网格,并不是我不会,而是gambit 对作图要求的条件很苛刻,也就是说,稍有不甚,就前功尽弃,当然对于计算流场很简单的用户,这不是问题。有时候好几天生成不了的图形,突然就搞定了,逐渐我也总结了一点经验,就是要注意一些小的拐角地方的图形,有时候做布尔运算在图形吻合的地方,容易产生一些小的面最终将导致无法在此生成网格,fluent里面的计算方法是有限体积法,而且我觉得它在计算过程中为了加快收敛速度,采取了交错网格,这样,计算精度就不会很高。同时由于非结构网格,肯定会导致计算精度的下降,所以我一贯来认为在fluent里面选取复杂的粘性模型和高精度的格式没有任何意义,除非你的网格做的非常好。 而且fluent5.5以前的版本(包括5。5),其物理模型,(比如粘性流体的几个模型)都是预先设定的,所以,对于那些做探索性或者检验新方法而进行的模拟,就不适合用。 同时gambit做网格,对于粘性流体,特别是计算湍流尺度,或者做热流计算来说其网格精度一般是不可能满足的,除非是很小的计算区域。所以,用fluent 做的比较复杂一点的流场(除了经典的几个基本流场)其计算所得热流,湍流,以及用雷诺应力模拟的粘性都不可能是准确的,这在物理上和计算方法已经给fluent判了死刑,有时候看到很多这样讨论的文章,觉得大家应该从物理和力学的本质上考虑问题。 但是,fluent往往能计算出量级差不多的结果,我曾经做了一个复杂的飞行器热流计算,高超音速流场,得到的壁面热流,居然在量级上是吻合的,但是,从计算热流需要的壁面网格精度来判断,gambit所做的网格比起壁面网格所满足的尺寸的要大了至少2个数量级,我到现在还不明白fluent是怎么搞的。 综上,我觉得,如果对付老板的一些工程项目,可以用fluent对付过去,但是如果真的做论文,或者需要发表文章,除非是做一些技术性工作,比如优化计算一般用fluent是不适合的。 我感觉fluent做力的计算是很不错的,做流场结构的计算,即使得出一些涡,也不是流场本身性质的反应,做低速流场计算,fluent的优势在于收敛速度快,但是低速流场计算,其大多数的着眼点在于对流场结构的探索,所以计算得到的

fluent全攻略(探索阶段)

GAMBIT使用说明 GAMBIT是使用FLUENT进行计算的第一个步骤。在GAMBIT 中我们将完成对计算模型的基本定义和初始化,并输出初始化结果供FLUENT的计算需要。以下是使用GAMBIT的基本步骤。 1.1定义模型的基本几何形状 如左图所示的按钮就是用于构造模型的基本几何形状的。当按下这个按钮时,将出现 如下5个按钮,它们分别是用以定义点、线、面、体的几何形状的。 值得注意的是我们定义这些基本的几何元素的一般是依照以下的顺序: 点——线(两点确定一线)——面(3线以上确定一面)——体(3面以上确定体)对各种几何元素的操作基本方式是:首先选中所要进行的操作,再定义完成操作所要的其他元素,作后点“APPL Y”按钮完成操作。以下不一一重复。 下面我们分别介绍各个几何元素的确定方法: 1.1.1点的操作 对点的操作在按下点操作按钮后进行(其他几何元素的操作也是这样)。点有以下几种主要操作 定义点的位置按钮,按下后出现下面对话框 Coordinate Sys.:用以选择已有坐标系中进行当前操 作的坐标系 Type:可以选择3种相对坐标系为当前坐标系:笛卡 儿坐标、柱坐标、球坐标。 以下通过在Global 中直接输入点的x、y、z值定义点, 注意这里的坐标值是绝对坐标值,而Local中输入的是相 对坐标值,一般我们使用绝对坐标值。 Label:为所定义的点命名。 在完成以上定义后就可以通过进行这个点 的定义,同时屏幕左半部的绘图区中将出现被定义的点。 用关闭此对话框。 查看所有点的几何参数按钮(在以后的操作中也可以查看其他元素的几何参数) 在Vertices栏中选择被查询的点,有两种选择方式(其他几 何元素的选择与此类似): ①按住shift键的同时用鼠标左键取点

Fluent经典问题及答疑2

Fluent经典问题及答疑2 51 对于出口有回流的问题,在出口应该选用什么样的边界条件(压力出口边界条件、质量出口边界条件等)计算效果会更好?(#42) 52 对于不同求解器,离散格式的选择应注意哪些细节?实际计算中一阶迎风差分与二阶迎风差分有什么异同?(#69) 53 对于FLUENT的耦合解算器,对时间步进格式的主要控制是Courant数(CFL),那么Courant 数对计算结果有何影响?(#43) 54 在分离求解器中,FLUENT提供了压力速度耦和的三种方法:SIMPLE,SIMPLEC及PISO,它们的应用有什么不同?(#44) 55 对于大多数情况,在选择选择压力插值格式时,标准格式已经足够了,但是对于特定的某些模型使用其它格式有什么特别的要求? (#60) 56 计算流体力学中在设定初始条件和边界条件的时候总是要先选择一组湍流参数,并给出其初值。如何选择并给出这些初值呢?有什么经验公式或者别的好的办法吗?(#73) 57 讨论在数值模拟过程中采用四面体网格计算效果好,还是采用六面体网格更妙呢?(#70) 58 如何将自己用C语言编辑的程序导入到FLUENT中?在利用UDF编写程序时需注意哪些问题?(#157) 59 在UDF中compiled型的执行方式和interpreted型的执行方式有什么不同?(#72) 60 在用gambit的时候,导入pro/e的stp文件后,在消去最短边的时候,有些最短边不能消去,其是空间线段,用面merge的方法和连接点的方法都不行,请问该怎么消去这类短边?(#144) 61 FLUENT help和GAMBIT help能教会我们(特别是刚入门的新手)学习什么基本知识?(#126) 62 FLUENT如何做汽车外流场计算的模拟?并且怎么可以得到汽车的阻力系数和升力系数?(#170) 63 FLUENT模拟飞行器外部流场,最高MA多少时就不准确了?MA达到一定的程度做模拟需注意哪些问题?(#125) 64 在用gambit建模,保存成*.msh文件时总是出现No entity的错误:Continuum Entity fluid does not contain any valid entity and is not written! Boundary Entity wall does not contain any validentity and is not written! 不知道是什么问题?产生的原因是什么?如何解决?(#150) 65 在做燃烧模拟的时候,入口燃料温度定义为蒸发/离解开始时的温度(也就是,为离散相材料指定的蒸发温度“Vaporization Temperature”),这是指水分蒸发温度吗?一般是多少?(#196) 66 在计算煤粉燃烧时遇到这样的问题: Warning: volatile + combustible fraction for lignite is greater than 1.0shell conduction zones 如何解决? 67 FLUENT控制方程是无因次的还是有因次的?如果是无因次的,怎么无因次的? 68 做飞机设计时,经常计算一些翼型,可是经常出现计算出来的阻力是负值,出现负值究竟是什么原因,是网格的问题还是计算参数设置的问题?(#71) 69 FLUENT中的Turbulent intensify是如何定义的?该值应该是小于等于100%,可是我的计算中该值达到400%,不知为何? 70 边界条件中湍流强度怎么设置:入口边界条件中的湍流强度和出口边界条件中的回流湍流强度怎么设置?是取默认值10%吗?(#135) 71 关于Injection中的Total Flow rate:injection 选surface,此时选了好几个面(面积不一定完全相同,但颗粒的入口速度相同),那Total Flow Rate 是指几个面的总流量还是某一个面的啊?只能处理完全相同的面吗?(#160) 72 FLUENT中能不能做插值:在ansys中的模型节点坐标和FLUENT中模型的节点坐标不一致,能

FLUENT菜鸟入门-不可不知的50个经典问题

Fluent必知的一些基本概念! 连续性方程不收敛是怎么回事? 在计算过程中其它指数都收敛了,就continuity不收敛是怎么回事 这和Fluent程序的求解方法SIMPLE有关。SIMPLE根据连续方程推导出压力修正方法求解压力。由于连续方程中流场耦合项被过渡简化,使得压力修正方程不能准确反映流场的变化,从而导致该方程收敛缓慢。 你可以试验SIMPLEC方法,应该会收敛快些。 湍流与黏性有什么关系? 湍流和粘性都是客观存在的流动性质。 湍流的形成需要一定的条件,粘性是一切流动都具有的。 流体流动方程本身就是具非线性的。 NS方程中的粘性项就是非线性项,当然无粘的欧拉方程也是非线性的。 粘性是分子无规则运动引起的,湍流相对于层流的特性是由涡体混掺运动引起的。 湍流粘性是基于湍流体的parcel湍流混掺是类比于层流体中的分子无规则运动,只是分子无规则运动遥远弱些吧了。不过,这只是类比于,要注意他们可是具有不同的属性。粘性是耗散的根源,实际流体总是有耗散的。 而粘性是制约湍流的。 LANDAU说,粘性的存在制约了湍流的自由度。 湍流粘性系数和层流的是不一样的,层流的粘性系数基本可认为是常数,可湍流中层流底层中粘性系数很小,远小于层流时的粘性系数;而在过渡区,与之相当,在一个数量级;在充分发展的湍流区,又远大于层流时的粘性系数.这是鮑辛内斯克1987年提出的。 1 FLUENT的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西? 一般是选取ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。 2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢? 对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值("额定值"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。即使解收敛了,这并

Ansys Workbench Fluid Flow(FLUENT)经典问题

1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢? 学习任何一个软件,对于每一个人来说,都存在入门的时期。认真勤学是必须的,什么是最好的学习方法,我也不能妄加定论,在此,我愿意将我三年前入门FLUENT心得介绍一下,希望能给学习FLUENT的新手一点帮助。 由于当时我需要学习FLUENT来做毕业设计,老师给了我一本书,韩占忠的《FLUENT流体工程仿真计算实例与应用》,当然,学这本书之前必须要有两个条件,第一,具有流体力学的基础,第二,有FLUENT 安装软件可以应用。然后就照着书上二维的计算例子,一个例子,一个步骤地去学习,然后学习三维,再针对具体你所遇到的项目进行针对性的计算。不能急于求成,从前处理器GAMBIT,到通过FLUENT进行仿真,再到后处理,如TECPLOT,进行循序渐进的学习,坚持,效果是非常显著的。如果身边有懂得FLUENT 的老师,那么遇到问题向老师请教是最有效的方法,碰到不懂的问题也可以上网或者查找相关书籍来得到答案。另外我还有本《计算流体动力学分析》王福军的,两者结合起来学习效果更好。 2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。 https://www.wendangku.net/doc/ee9103067.html,/dvbbs/viewFile.asp?BoardID=61&ID=1411 A.理想流体(Ideal Fluid)和粘性流体(Viscous Fluid): 流体在静止时虽不能承受切应力,但在运动时,对相邻的两层流体间的相对运动,即相对滑动速度却是有抵抗的,这种抵抗力称为粘性应力。流体所具备的这种抵抗两层流体相对滑动速度,或普遍说来抵抗变形的性质称为粘性。粘性的大小依赖于流体的性质,并显著地随温度变化。实验表明,粘性应力的大小与粘性及相对速度成正比。当流体的粘性较小(实际上最重要的流体如空气、水等的粘性都是很小的),运动的相对速度也不大时,所产生的粘性应力比起其他类型的力如惯性力可忽略不计。此时我们可以近似地把流体看成无粘性的,这样的流体称为理想流体。十分明显,理想流体对于切向变形没有任何抗拒能力。这样对于粘性而言,我们可以将流体分为理想流体和粘性流体两大类。应该强调指出,真正的理想流体在客观实际中是不存在的,它只是实际流体在某些条件下的一种近似模型。 B.牛顿流体(Newtonian Fluid)和非牛顿流体(non-Newtonian Fluid): 日常生活和工程实践中最常遇到的流体其切应力与剪切变形速率符合下式的线性关系,称为牛顿流体。而切应力与变形速率不成线性关系者称为非牛顿流体。图2-1(a)中绘出了切应力与变形速率的关系曲线。其中符合上式的线性关系者为牛顿流体。其他为非牛顿流体,非牛顿流体中又因其切应力与变形速率关系特点分为膨胀性流体(Dilalant),拟塑性流体(Pseudoplastic),具有屈服应力的理想宾厄流体(Ideal Bingham Fluid)和塑性流体(Plastic Fluid)等。通常油脂、油漆、牛奶、牙膏、血液、泥浆等均为非牛顿流体。非牛顿流体的研究在化纤、塑料、石油、化工、食品及很多轻工业中有着广泛的应用。图2-1(b)还显示出对于有些非牛顿流体,其粘滞特性具有时间效应,即剪切应力不仅与变形速率有关而且与作用时间有关。当变形速率保持常量,切应力随时间增大,这种非牛顿流体称为震凝性流体(Rheopectic Fluid)。当变形速率保持常量而切应力随时间减小的非牛顿流体则称为触变性流体(Thixotropic Fluid)。 C.可压缩流体(Compressible Fluid)和不可压缩流体(Incompressible Fluid):

webgis复习资料(重点题)

名词解释 1.WebGIS:指基于Internet平台,客户端应用软件采用网络协议,运用在Internet上的地理信息系统。 2.数字地球:一个以地球坐标为依据的、具有多分辨率的海量数据和多维显示的地球虚拟系统。 3.多源数据集成: 4.SDE(空间数据库引擎Spatial Database Engine):使空间数据可在工业标准的数据库管理系统中存储、管理和快速查询检索的客户/服务器软件。它将空间数据加入到扩展关系数据库管理系统中,并提供对空间、非空间数据进行有效地管理、高效率操作与查询的数据库接口。 5.基于位置的服务:通过无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。 6.Web Services (Web 服务):基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。 7.Mashup :将两种以上使用公共或者私有数据库的web应用,融合在一起,形成一个整合应用。 8.地理元数据:描述地理数据的标识、覆盖范围、质量、空间和时间模式、空间参照系和分发等信息。 简答 1 什么是OGC规范 OGC—Open Geospatial Consortium—开放地理信息联盟,OGC为分布式环境下访问地理数据和地理信资源制定的一套全面的规范。它包括抽象规范和实现规范。OGC规范致力于为地理信息系统间的数据和服务互操作提供统一。各厂商按照OpenGIS制定的规范开发GIS软件,而且些软件之间能够实现互操作。 OGIS(Open Geodata Interoperability Specification)开放地理空间数据互操作规范 该规范主要包括三个部分 ?开放式地理空间数据模型(Open Geodata Model) ?OGIS服务模型(OGIS Service Model) ?信息团体模型(Information Comunities Model) 2 WMS、WFS、WCS? 1).Web 地图服务WMS 能够根据用户的请求返回相应的地图(包括PNG,GIF,JPEG等栅格形式或者是SVG和WEB CGM等矢量形式)。WMS支持网络协议HTTP,所支持的操作是由URL定义的。有三个重要操作GetCapabilities,GetMap,GetFeatureinfo。 GetCapabilities返回服务级元数据。 GetMap返回一个地图影像。 GetFeatureinfo返回显示在地图上的某些特殊要素的信息。 2).Web 要素服务WFS 支持对地理要素的插入,更新,删除,检索和发现服务。该服务根据HTTP客户请求返回GML 数据。 其基础接口是:GetCapabilities,DescribeFeatureType,GetFeature GetCapabilities同上。 DescribeFeatureType返回要素结构,以便客户端进行查询和其他操作。 GetFeature可根据查询要求返回一个符合GML规范的数据文档。

相关文档