自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牛魔王的作坊

@ Esri R&D Center

  • 博客(23)
  • 资源 (5)
  • 收藏
  • 关注

原创 ArcGIS Server Java ADF 案例教程 23

三 Task的渲染Task的功能类中还有一个属性,IDE默认生成的名字是taskInfo,它对应这个另外一个Java类(如上面QueryTaskTaskInfo类)的对象。这个类主要控制Task的渲染,我们可以回想一下,如果光在Task的功能类中定义了Command是一个void类型的query方法,Task面板怎么会生成一个标签为“查询”的按钮出来的呢?答案就在taskInfo中。打开上面生成的“QueryTaskTaskInfo.java”文件,我们可以看到以下的内容:public class Quer

2009-04-30 14:56:00 952

原创 ArcGIS Server Java ADF 案例教程 22

二 Task的执行Task的执行主要在对应的功能类(比如上面的QueryTask类)中实现,上面已经详述了Task中的Parameter、Command、Tool分别对应的功能类中的元素,下面就让我们看看怎么去使用它们。在上面定义的那个QueryTask中,我们设计点击“查询”按钮就能根据文本框中输入的关键词去查找相应的要素。下面是实现这样功能的一段代码: public void query(TaskEvent event) { WebContext webContext = eve

2009-04-30 14:55:00 804

原创 ArcGIS Server Java ADF 案例教程 21

这一章我们主要研究一下Task同志的成份和出身。ADF中本身包含一些现成的Task,不过相比对开发人员来说没有很大的意义,这一章我们的重点还是在如何自定义Task。Task是实现业务逻辑的重要部分。简单来说,Task可以让输入一些参数(在页面上以文本框、组合框等形式出现)、通过Command和Tool的组合,帮助你完成特定的“任务”并返回结果,这就是所谓的Task。一 Task的请求虽说这一节的标题是Task的请求,但在这里我们对ADF的Task怎么向服务器做请求并不作深入的探讨,这里我们主要是去了解一个T

2009-04-29 15:49:00 807

原创 ArcGIS Server Java ADF 案例教程 20

七 自定义Button实现前面的Command和Tool【案例】在这一章前面的小节中,我们实现了两个案例分别演示Command和Tool的功能;在这个案例里,让我们用Button来完成相同的工作。首先,我们需要在一个我们自己定义的ManagedBean 来实现这些功能。注意,在这个ManagedBean中我们会使用WebContext对象(否则怎么调用地图功能),因此,我们这个类定义需要实现WebContextInitialize接口。当然,在IDE中有更简单的方法,比如在Eclipse中选择菜单【New】

2009-04-28 13:47:00 866

原创 ArcGIS Server Java ADF 案例教程 19

六 ButtonButton不属于Toolbar的子元素,而是和Toolbar有类似的地位;但同时,它的功能又集合了Command和Tool。Button的出现主要是为了方便用户,当用户不希望出现一个工具条来摆放与地图相关的功能,那么Button可以在页面的任意地方摆放一个与地图相关的按钮。在ADF工程里,让我们打开ADF自带的模板页面“edit.jsp”,在里面有很多Button。以下是定义了一个在客户端绘制一个矩形,服务器端执行“选择要素”操作的Button:我们可以看到,Button和Command以

2009-04-28 13:44:00 837

原创 ArcGIS Server Java ADF 案例教程 18

五 自定义Tool实现点击地图居中【案例】在这一小节中,我们通过自定义一个Tool来激活这样的地图功能:每次点击地图,都以这个点击点为中心使地图居中。如下,我们新建了这样一个类CenterAtToolAction:import com.esri.adf.web.data.WebContext;import com.esri.adf.web.data.geometry.WebPoint;import com.esri.adf.web.faces.event.MapEvent;import com.esri.a

2009-04-28 13:41:00 849

原创 ArcGIS Server Java ADF 案例教程 17

四 ToolTool是另外一种按钮,虽然它在外观上和Command可能没什么区别,但是当Tool被点击以后,地图状态就进行了改变。比如我当前默认对地图的操作是漫游,通过点击一个Tool,接下来在地图上的点击可能就变成了放大操作——与地图交互,这就是Tool的作用。以下代码定义了一个“使地图处于漫游状态”的Tool:Tool定义时两个最重要的属性就是clientAction和serverAction。clientAction定义的是在浏览器端执行的操作,比如这里的“EsriMapContinuousPan”代

2009-04-28 13:37:00 1072

原创 PostgreSQL+PostGIS的使用 5

五、 PostGIS示例下面我们通过一个简单的Flex应用示例来看一下PostGIS的用法:假想现在发生了恐怖袭击,导致在一些城市有污染物出现,现在我们要根据污染物和当地风力、风向情况,计算污染扩散范围,针对这些区域及时进行警报和疏散。首先我们希望获得所有发生污染的城市的当前风速、风向等信息,在我们的PostGIS数据库中有一个空间表保存着这些信息,我们构造这样的SQL语句进行查询:select *,ST_AsGeoJson(shape) from sde.wind这里会获取所有风相关的信息,并且附加了以J

2009-04-24 14:53:00 5470

原创 PostgreSQL+PostGIS的使用 4

2. PostGIS扩展函数管理函数:删除一个空间表(包括geometry_columns中的记录) DropGeometryTable([], )更新空间表的空间参考 UpdateGeometrySRID([], , , )更新空间表的统计信息 update_geometry_stats([, ])参考语义:Geos:GEOS库Jts:JTS库Proj:PROJ4库 postgis_version() postgis_lib_version() postgis_lib_build_date() post

2009-04-24 14:49:00 7517

原创 PostgreSQL+PostGIS的使用 3

四、 PostGIS中的常用函数以下内容包括比较多的尖括号,发布到blogger的时候会显示不正常,内容太多我也无暇一个个手动改代码,因此如有问题就去参考PostGIS官方文档。首先需要说明一下,这里许多函数是以ST_[X]yyy形式命名的,事实上很多函数也可以通过xyyy的形式访问,在PostGIS的函数库中我们可以看到这两种函数定义完全一样。1. OGC标准函数管理函数:添加几何字段 AddGeometryColumn(, , , , , )删除几何字段 DropGeometryColumn(, , )

2009-04-24 14:42:00 5379

原创 PostgreSQL+PostGIS的使用 2

三、 PostGIS中空间信息处理的实现1. spatial_ref_sys表在基于PostGIS模板创建的数据库的public模式下,有一个spatial_ref_sys表,它存放的是OGC规范的空间参考。我们取我们最熟悉的4326参考看一下:它的srid存放的就是空间参考的Well-Known ID,对这个空间参考的定义主要包括两个字段,srtext存放的是以字符串描述的空间参考,proj4text存放的则是以字符串描述的PROJ.4 投影定义(PostGIS使用PROJ.4实现投影)。4326空间参考

2009-04-24 14:36:00 3624 1

原创 PostgreSQL+PostGIS的使用 1

二、 PostGIS中的几何类型PostGIS支持所有OGC规范的“Simple Features”类型,同时在此基础上扩展了对3DZ、3DM、4D坐标的支持。1. OGC的WKB和WKT格式OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text)。在SQL语句中,用以下的方式可以使用WKT格式定义几何对象:POINT(0 0) ——点LINESTRING(0 0,1 1,1 2) ——线POLYGON((0 0,4 0,4 4,0

2009-04-24 14:35:00 4631 2

原创 ArcGIS Server Java ADF 案例教程 16

三 WebContext的refresh方法提示:本小节内容是ADF内部实现机制,对ADF的使用没有影响,如没有兴趣可以跳过。当调用WebContext的refresh方法的时候, ADF会同步WebContext中所有相关属性。比如当我改变了WebMap的视图范围,然后再调用WebContext的refresh方法,那么ADF会通知WebContext中的WebOverview等对象去同步相关信息,比如同步改变视图范围等。以上过程ADF在后台是通过Observer机制实现的。当ADF调用WebContex

2009-04-21 15:13:00 1282

原创 ArcGIS Server Java ADF 案例教程 15

二 【案例】自定义Command使地图等比放大在这一小节,我们通过自定义Command定制一个按钮,这个按钮每点击一次,地图会放大1倍。通过这个简单案例,让我们来熟悉一下Command的用法。实现这个功能的主要环节是实现自己的监听器类,以下是这个类的定义:import com.esri.adf.web.data.WebContext;import com.esri.adf.web.util.WebUtil;import javax.faces.event.AbortProcessingException;i

2009-04-20 16:18:00 1010

原创 ArcGIS Server Java ADF 案例教程 14

Command、Tool和Button这一章我们将讨论的主要对象是Toolbar的孩子们和亲戚,涉及到两个孩子:Command和Tool,还有一个亲戚:Button。它们是基于ADF对WebGIS功能进行扩展的第一步,它可以让你在地图工具条中加入若干自定义的按钮来执行特定的功能。在第三章中我们把Toolbar列为ADF常用组件之一,但是它和Map、TOC、Overview等其它组件是有区别的,我们打开“context-attributes.xml”配置文件可以发现,Map、TOC、Overview等组件都有

2009-04-20 16:11:00 1166 3

原创 基于PHP的Flex Socket安全策略设置

Flex打开Socket连接前会按几个步骤检查安全策略配置,如不成功将报安全沙箱错误。最先检查的就是目标主机的843端口是否提供了安全策略配置,因此在843端口监听Socket请求并输出安全策略配置是最直接的解决Flex Socket连接沙箱错误的办法。如下PHP代码在服务器端被执行以后将会完成上述工作:在Window中,在控制台中执行“telnet localhost 843”命令后如果可以输出安全策略文件,表明设置成功。

2009-04-17 23:29:00 1519

原创 B/S架构中的数据推送技术

B/S架构中服务器向浏览器推送数据在很多场合都有需求,比如实时的监控报警、实时的调度,等等。凡是对实时性要求越高的场景,越是需要服务器及时、准确地向浏览器推送数据。这里我们就讨论一下在B/S架构下,可以实现从服务器向浏览器推送数据的几种技术及其相应的特点。基于HTTP协议1. HTTP协议的特点纯的HTTP协议在本质上是无状态、无连接的,它基于请求/响应的工作模式,使得浏览器在每次发生请求的时候和服务器建立连接,当接收到响应的时候断开连接;在这种情况下,要让服务器主动向浏览器发送数据是不可能的。技术总是为需

2009-04-17 15:59:00 15015 3

原创 ArcGIS Server Java ADF 案例教程 13

【案例】给地图加上弹出气泡在这一小节里,我们将会在地图上加一个气泡,很多时候你需要弹出一些简短的信息到地图上,气泡就是为了满足这样的要求的。首先让我们回忆下这一章的主要内容,前面讲了ADF一些常用的地图组件,然后从Map组件入手详细分析了它在服务器端和浏览器端的具体实现。现在我们的气泡功能主要是对浏览器端的Map进行功能扩展,那么首先应该想到的就是EsriMap这个JavaScript类,我们在EsriMap中弹出一个div,再放上我需要的信息不就可以了么?等等,在页面上弹出一个div是很简单,但是用户还会

2009-04-15 15:26:00 1710 2

原创 ArcGIS Server Java ADF 案例教程 12

EsriMap详解提示:本小节所涉及内容主要由ADF自己完成,分析只是为了更好地了解原理,为将来有可能做的扩展进行准备。EsriMap在“/WebContent/js/esri_map.js”中定义,让我们从Map组件输出的JavaScript代码开始去了解ADF在浏览器中所做的工作。下面的代码是一个简单地图输出的JavaScript代码(为了便于阅读,我对某些代码作了等价的修改),其中“AgsTest”是我的项目名称:现在让我们开始看浏览器一步一步执行的JavaScript代码。除了引入一些ADF的Jav

2009-04-08 17:23:00 1719

原创 ArcGIS Server Java ADF 案例教程 11

Map组件详解以上几个组件的使用非常简单,不需要很多设置就可以搭起一个有模有样的WebGIS页面了——当然,这是因为ADF在后台为我们做了很多事情。后面我们希望从Map组件入手,看看在一个会话中,ADF是怎么把后台的ArcGIS服务呈现到用户的浏览器,并使之能响应用户操作的。当一个用户会话开始时,让我们首先看一下Map组件在服务器端绑定的WebMap对象,WebMap对象的定义我们可以在“/WebContent/WEB-INF/context-attributes.xml”中找到。在前面我们已经知道,一个J

2009-04-08 17:17:00 1013

原创 ArcGIS Server Java ADF 案例教程 10

几个ADF常用组件图 6 ADF常用组件如图 6所示,ADF中几个与地图相关的组件的命名和功能都和ArcEngine很类似,主要包括Map、Toolbar、TOC、Overview等。我们先大致看一下这几个组件的用法和大概功能。Map应该是所有ADF应用中都要使用的组件,它是一个地图的容器,内置了对各种地图服务的使用和操作。它在服务器端绑定的是一个WebMap 对象。以下标签在页面中添加了一个Map组件:Toolbar是绑定到Map的工具条,在Toolbar中可以添加Tool和Command以实现相应的地

2009-04-03 17:34:00 1463

原创 ArcGIS Server Java ADF 案例教程 9

ADF中的服务ADF的后台都是各种不同的ArcGIS服务,一个ADF应用所依赖的就是这些服务提供的功能。这个小节让我们看一下服务是怎么配置到ADF应用,并和ADF对象关联起来的。比如我现在发布了一个名为“World”的地图服务(Map Service),在ADF应用中准备通过Internet的方式进行连接。在当前的JSP文件上右键菜单,选择【ArcGIS】-【Configure Map Service…】后,如图 6所示添加地图服务。图 6 在当前应用中配置服务在添加服务以后,让我们打开“faces-co

2009-04-03 17:22:00 1158

原创 ArcGIS Server Java ADF 案例教程 8

ADF页面结构在介绍ADF组件之前,我想还是先花点时间了解一下ADF的页面结构比较好,因为首先你要知道,使用ADF并不是简单地把这些组件拖到一个JSF页面上就可以用的。打开模板工程的地图页面“mapviewer.jsp”,首先在页面顶端我们会找到对ADF标签库的引用,JSF页面会通过这个标签库(前缀为“a”)来定义相应的ADF组件。往下到页面的主体部分,所有的ADF组件都放在“f:view”标签内,这很好理解,因为我们的ADF组件是基于JSF的,因此也必须放在JSF的组件树结构中,“f:view”就是JSF

2009-04-02 15:04:00 1010

《海量空间数据库实施策略-栅格数据》

《海量空间数据库实施策略-栅格数据》 PDF版本,2010年度ESRI中国用户大会内容

2010-09-16

《OGC标准介绍》PDF版本

《OGC标准介绍》 PDF版本,介绍常见OGC标准。

2010-07-23

ArcGIS Flex API 2.0 离线参考 - 无JS报错更新版

ArcGIS Flex API 2.0 离线参考 前一版本少一些JS会报错,虽然不影响使用但是蛮烦人的。这个版本应该没这个问题。

2010-07-12

北京模拟GPS信号的NMEA文件

北京北四环和北三环之间模拟GPS信号的NMEA文件,可用于程序测试

2008-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除