Flyingis

Talking and thinking freely !
Flying in the world of GIS !
随笔 - 156, 文章 - 16, 评论 - 589, 引用 - 0
数据加载中……

AE92 SDK for Java 最小示例学习

     摘要: ArcEngine 92 SDK for Java 最小示例学习,类似于Java开发的第一个例子"Hello World",但要稍微复杂一点。整个过程清晰明了,通过这个例子我们可以顺藤摸瓜,逐渐深入到AE的开发中。  阅读全文

posted @ 2007-03-08 16:21 Flyingis 阅读(3617) | 评论 (0)编辑 收藏

ArcGIS 坐标系统文件

     摘要: 看看ArcGIS 9.2中包含的坐标系统文件夹Geographic Coordinate Systems、Projected Coordinate Systems、Vertical Coordinate Systems的简介,欣赏北京54和西安80投影坐标系令人费解的命名方式。  阅读全文

posted @ 2007-03-02 09:04 Flyingis 阅读(13834) | 评论 (7)编辑 收藏

地震为什么没有影响到 Google

原文链接:http://news.mydrivers.com/pages/20070120074305_14081.htm

2006年底,台湾海域地震,让人们深刻感觉到互联网的脆弱。在这次地震中,中美海缆、亚太一号、亚太二号海缆、FLAG海缆、亚欧海缆、FNAL海缆等多条国际海底通信光缆中断。一时间,台湾,韩国,日本,菲律宾,甚至印度的呼叫中心都受牵连;中国用户几乎无法访问所有的美国网站以及网络服务,有些网站虽然可以勉强登入,但速度也让人无法忍受。

不过,与平时经常被“屏蔽”相反,Google在此期间几乎没有受到影响,搜索引擎、Gmail以及Google旗下的其他服务都能够在国内正常访问。

事实上,连接中国与亚洲、美国以及欧洲的电缆有多个系统。台湾地震只损害了一部分海底电缆,但并不是所有的电缆都出现了问题。这个时间段内,从中国接入国际互联网的服务,就取决于提供该服务的这个互联网公司或者ISP购买的是哪些电缆系统,在地震中是否受到损害。

不过,还有另外一种情况存在:一些国际连接虽然没有受到地震的影响,但是过多地负载了从其它损害的电缆转道而来的信息流量,导致交通堵塞。

Google使用了多网络连接系统,如果某个数据中心出了访问障碍,系统会自动选择其它的网络路径,由其它数据中心无缝地提供服务。

在设计和实施时,Google在中国的服务网络充分考虑了冗余要求,不会因为其它线路的拥挤而变得缓慢。因此,Google中国用户感觉不到任何地震引起的变化。

为什么Google成为此次地震事件中的特例?

时间追溯到2002年2月,Google的一个数据中心的主电源跳闸,导致Google瘫痪了将近1个小时。有了这次教训,Google便彻底改变了自己的文件系统分布。

改进后的Google文件分布系统,即便一个拥有80台电脑的支架被断开连接,也能迅速完成再一次的备份,而且,并不中断正常的服务。实际上,按照霍茨勒的说法,Google的“每台服务器都有50个备份”。除此之外,多网络连接模式应用,也为服务稳定提供了有效的硬件基础。

posted @ 2007-01-20 14:54 Flyingis 阅读(2096) | 评论 (1)编辑 收藏

shapefile 和 MapGIS 文件格式之间的转换

     摘要: 这篇文章比较老了,还是在ArcGIS 8.3平台下做的,这段时间一些朋友经常问到这个问题,现在大家早已进入ArcGIS 9.x时代,但还是可以参考一下,是否适用尚不知道,如有什么变化,欢迎大家写在后面。  阅读全文

posted @ 2007-01-19 09:17 Flyingis 阅读(4576) | 评论 (2)编辑 收藏

全套 ArcGIS 软件安装(Windows 平台)

     摘要: 虽然是Windows平台下的安装,但有时也经常碰到棘手的问题,文章记录的过程比较简单,如果大家有什么疑问可以在后面留言。
关于ESRI产品的安装,以后还会写,包括各种平台下的,各种软件搭配环境下的,有些我自己也是在学习的过程中,欢迎大家一起讨论。  阅读全文

posted @ 2007-01-17 15:03 Flyingis 阅读(3551) | 评论 (0)编辑 收藏

GeoTools 2.3.0 release available for download

2 January 2007 - GeoTools 2.3.0 release brings together a lot of great improvements made over the last year. The main focus of this release is improving the raster story for GeoTools. While plug-ins for a variety of rasters existed previously, all of them were memory constrained and not really suitable for real software.

GeoTools 2.3.0 is available for download at:
http://geotools.codehaus.org/2.3.0

2.3.0 brings solid, scalable, fast support for ArcGrid, GeoTiff, GTOPO30, World Images and Image Mosaics and Pyramids. These are already in action in GeoServer 1.5.x, and will soon work their way into uDig (http://udig.refractions.net). In addition it offers:

- GeoAPI filter interfaces aligned with Filter 1.1 specification
- Completed providence review
- More relaxed PostGIS support, able to handle older varied configurations
- Scalar Vector Graphics "Marks" can be used as part of our SLD support
- Improved plug-in visibility
- Maven "archtype"
- Numerous small bug fixes and improvements

The following organizations, have contributed to this stable release: GeoSolutions for their RnD contributions appearing in this release, and OSGeo Foundation for their support during the incubation process.

- About GeoTools
GeoTools is an open source java GIS toolkit. Used for OGC based projects via GeoAPI interfaces. It includes two great SLD based renderers, raster access and reprojection. Plugins for Shapefile, ArcGrid, ArcSDE, Postgis, OracleSpatial, MySQL and many more.

For more information visit:

- http://docs.codehaus.org/display/GEOTOOLS
- http://docs.codehaus.org/display/GEOTOOLS/Mailing+Lists
- http://docs.codehaus.org/display/GEOTOOLS/Module+Matrix
- http://docs.codehaus.org/display/GEOS/GeoServer+1.5.0+beta1

Source :
http://sourceforge.net

From : http://www.gisdevelopment.net/news/viewn.asp?id=GIS:N_axrmhogkef

posted @ 2007-01-10 22:25 Flyingis 阅读(1849) | 评论 (0)编辑 收藏

静态设计

     摘要: 重新看看静态设计的优劣之处。  阅读全文

posted @ 2006-12-27 16:16 Flyingis 阅读(2429) | 评论 (0)编辑 收藏

初学 Eclipse RCP

     摘要: 以前一直做WebGIS方面的工作,对桌面关心甚少。桌面开发让人第一个想到的是VB6的快速开发,以及VC++平台中对效率的追求,VB.NET似乎找不到一个合适的定位。自己以后想逐步转向桌面,毕竟桌面才是GIS的天下,在效率、可扩展性、开发速度以及平台可持续发展中权衡,让我选择了Eclipse RCP。  阅读全文

posted @ 2006-12-13 19:22 Flyingis 阅读(3463) | 评论 (1)编辑 收藏

乱谈 GIS 中小型应用

     摘要: 文章围绕ESRI的产品讨论。
GIS中小型应用,是采用ArcEngine+ArcIMS+ArcSDE+Oracle等豪华配置,还是有其他方案可以选择?  阅读全文

posted @ 2006-11-28 22:14 Flyingis 阅读(4081) | 评论 (10)编辑 收藏

ArcSDE 中空间数据的备份与恢复 [转载]

原文链接:http://www.gis8.net/Article/arcgis/200611/362.htm

随着GIS应用系统在复杂性、集成性、并发性等方面的要求不断增加,系统所需的空间数据量在急剧地增长,同时用户对空间数据并发访问的需求也越来越突出。以传统的文件形式存储和表示空间数据的方法显然已经无法满足这些需求。由于ArcSDE本身所具有的海量数据存储、多用户并发访问、版本管理、长事务处理等强大优势,在GIS应用系统中引入ArcSDE作为空间数据存储和管理引擎,变得越来越普遍。ArcSDE作为空间数据库引擎,在ArcGIS 8.1系列软件中属于服务器端的产品,在整个产品框架中,处于数据中心的重要地位,它利用Oracle、DB2、SQL Server、Informix等关系型数据库在数据存储、数据完整性等方面的先进技术手段,将海量空间数据(包括矢量数据和栅格数据)有机地组织和管理起来,通过其内部异步缓冲、空间索引等先进的机制,提供对空间数据的多用户高效并发访问。

除了存储空间数据并提供访问,对于空间数据的备份和恢复,是空间数据管理中最重要的工作环节之一,也是保障空间数据安全的重要方式。首先,空间数据本身在应用过程中不断地被更新变动,所以经常会需要备份不同时期,不同的空间数据版本;第二,存储介质的意外损坏会导致严重的空间数据丢失,因此需要定期对空间数据对象的整体进行完全备份;第三,有时出于调整的必要,需要在不同服务器、甚至不同数据库管理系统之间进行空间数据的移植和转换。

在采用文件形式空间数据的时代,空间数据的备份仅仅是操作系统中的文件拷贝、备份和归档的过程;而空间数据的恢复也不过是复制、覆盖的操作;在基于ArcSDE和关系型数据库的空间数据库时代,空间数据的备份更多的依赖于关系型数据库的备份和恢复技术,当然也不能缺少ArcSDE所提供的备份工具。按照备份的方式和对象,ArcSDE中空间数据的备份和恢复可以分为如下两类:指定空间数据对象的备份恢复,和整体空间数据库的备份恢复。

一、 指定空间数据对象的备份和恢复
这种方式主要用于备份指定的空间数据对象,比如某个图层和要素类、其中的某些满足特定条件的记录、甚至特定的版本。实现这种备份方式的方法主要是利用ArcSDE提供的管理工具:sdeexport和sdeimport命令。它们的位置在%ArcSDEHOME%\bin\中。其中,sdeexport用于将空间数据从ArcSDE Server上备份为单独的数据文件,而sdeimport用于将经由sdeexport备份的数据文件恢复到ArcSDE Server中。

这一方式的缺点在于不能一次备份完整的空间数据库。但是也有个明显的优点,在于通过sdeexport和sdeimport工具,可以将空间数据在不同的关系型数据库管理系统(RDBMS)之间进行移植。

1. 备份全部记录
使用sdeexport命令的缺省方式即可,比如:
(1) 将指定的图层备份到备份文件
sdeexport -o create -l dcxq,shape -f d:\dcxq.exp -i jerry_oracle -u sde -p sde
就是将名为jerry_oracle的sde服务(ArcSDE for Oracle8i)中的指定图层“dcxq”按缺省方式备份到文件d:\dcxq.exp中。
(2) 利用操作系统命令,拷贝备份文件到目标服务器上
(3) 将备份文件恢复至目标RDBMS中
sdeimport -o create -l newDcxq,shape -f d:\dcxq.exp -i jerry_sqlsvr -u sde -p sde
此操作将备份文件恢复到名为jerry_sqlsvr的sde服务(ArcSDE for SQLServer)中,图层名为:newDcxq。

2. 备份部分记录
sdeexport命令中添加-w参数和一个条件选择表达式即可,比如:
(1) 将指定图层中满足条件的记录备份到备份文件
sdeexport -o create -l dcxq,shape -f d:\dcxq.exp -w xzqy = '徐汇区' -i jerry_oracle -u sde -p sde
就是将名为jerry_oracle的sde服务(ArcSDE for Oracle8i)内的指定图层“dcxq”中所有"徐汇区"的人口调查小区备份到文件d:\dcxq.exp中。
(2) 利用操作系统命令,拷贝备份文件到目标服务器上
(3) 将备份文件恢复至目标RDBMS中
sdeimport -o create -l XHDcxq,shape -f d:\dcxq.exp -i jerry_sqlsvr -u sde -p sde
此操作将备份文件恢复到名为jerry_sqlsvr的sde服务(ArcSDE for SQLServer)中,图层名为:XHDcxq。

3. 备份特定数据版本
sdeexport命令中添加-v参数和一个版本名称即可,比如:
(1) 将指定图层的特定版本备份到备份文件
sdeexport -o create -l dcxq,shape -f d:\dcxq.exp -V verAPR -i jerry_oracle -u sde -p sde
此操作将名为jerry_oracle的sde服务(ArcSDE for Oracle8i)内的指定图层“dcxq”的verAPR版本备份到文件d:\dcxq.exp中。
(2) 利用操作系统命令,拷贝备份文件到目标服务器上
(3) 将备份文件恢复至目标RDBMS中
sdeimport -o create -l APRdcxq,shape -f d:\dcxq.exp -i jerry_sqlsvr -u sde -p sde
此操作将备份文件恢复到名为jerry_sqlsvr的sde服务(ArcSDE for SQLServer)中,图层名为:APRDcxq。

二、 整体空间数据库的备份和恢复
ArcSDE空间数据库的整体备份和恢复,实质上很大程度上是其所在的数据库或者数据库对象的备份和恢复问题。当然完整的ArcSDE数据备份应当还包括dbtune.sde,giomgr.defs,dbinit.sde和services.sde等文件。

数据库的备份和恢复有很多种类。在不同的数据库管理系统中,更是千差万别。总体上,大都可以分为静态转储和动态转储两个类型。静态转储是在系统中无事务处理时进行的转储操作,因而这种方式得到的一定是一个数据一致性的副本。静态转储的优点是操作简单,保证数据一致性,但是缺点也很明显,转储操作必须等待用户事务结束才能进行,而新的事务必须等待转储操作结束才能执行,因此会降低数据库的可用性。动态转储是指转储操作与用户事务并发进行,转储期间允许数据库进行存取和修改操作,它不必等待所有运行的事务结束,也不会影响新事务的运行,但是无法保证副本中的数据正确、有效、完整。所以在动态转储期间,往往会建立日志文件。后备文件加上日志文件就可以把数据库恢复到正确的状态。

1. Oracle数据库
(1) 两种归档模式(archive mode)
Oracle有两中归档模式:NO ARCHIVELOG和ARCHIVELOG。在NO ARCHIVELOG模式(该模式为缺省模式)下的数据库操作不归档在线日志重做文件。当存储介质损坏时,NO ARCHIVELOG模式的数据库只能恢复到上一次的备份点上。ARCHIVELOG模式的数据库可以通过上一次的备份和归档日志重做文件相结合的方式,恢复到介质损坏之前的点上。
以NO ARCHIVELOG模式创建的Oracle数据库可以切换至ARCHIVELOG模式。
(2) 多种备份与恢复方式
Oracle中的数据备份和恢复方式包括:脱机备份与恢复、逻辑备份与恢复、热备份与恢复。
* 脱机备份与恢复:脱机备份是一种静态转储技术,备份在数据库关闭、不工作的状态下进行。脱机备份包括两种实现方式:第一种是使用Oracle提供的工具Backup/Recover;第二种是利用操作系统的复制功能,复制数据文件,即:冷备份。
* 逻辑备份与恢复:逻辑备份与恢复是指将数据库、用户和表等对象的内容整个转出到一个二进制文件,然后在需要的时候通过转入恢复到原来的形式。这种方式可以备份整个数据库,指定用户和指定表的内容。
* 热备份与恢复:脱机备份和逻辑备份通常是用户不访问数据库时的静态备份操作。这些备份只保证数据备份前的一致性和完整性,不保证备份期间的数据一致性。为了保证数据的即时一致性,在备份数据的同时还需要备份日志文件。数据库运行在ARCHIVELOG方式下,同时作数据和日志文件的备份称为热备份。
(3) 实现步骤
选择使用何种备份方式,由具体的数据备份需求所决定。具体的Oracle数据库备份实现步骤需要参考Oracle相关文档,比如《Oracle8 Backup and Recovery Guide》。本实例采用Oracle中的逻辑备份,使用了exp和imp工具,以sde用户方式备份和恢复整体空间数据。
* 备份数据库:使用Oracle中的exp命令,以sde用户方式备份所有相关数据。
* 恢复数据库:使用Oracle中的imp命令,以sde用户方式恢复后备数据文件。
* 恢复ArcSDE系统文件:如果有必要,在恢复oracle数据之后,需要恢复安装ArcSDE的程序文件;另外还需要从备份机器上恢复dbtune,giomgr.defs,dbinit.sde,和services.sde文件。

2. SQLServer数据库
(1)备份和恢复方式
在MS SQL Server中,ArcSDE利用单独的用户数据库SDE(缺省名)来管理和组织空间数据。
SQLServer不仅可以在同一台服务器上备份和恢复数据库,还允许通过备份和恢复的方式在不同服务器之间很轻松地移动数据库。MS SQL Server也允许将一个服务器上的数据库备份恢复到另外一台服务器上。
如果要将数据库备份恢复到另外一台服务器上,两台服务器上的code page和排序方式必须相同。比如,不能把用二进制排序方式(Binary Sort Order,BSO)建立的数据库恢复到一个配置为缺省排序方式(字典顺序,dictionary)的服务器上。当然,可以通过在master数据库中运行'sp_helpsort'存储过程设定服务器的排序方式。
数据库的备份操作同时备份了数据库的系统表,包括sysusers。当在不同的服务器上执行备份和恢复操作时,备份数据库中所包含的用户可能会和新的服务器上master数据库中sysxlogins表中包含的用户不同。这样的话,就无法登录到恢复后的数据库,知道更正并统一master数据库中sysxlogins表和恢复数据库中sysusers表的登录映射。要使上述两个表同步,需要运行"sp_change_users_login"存储过程。
(2)实现步骤
* 备份SDE数据库到备份文件:既可以使用T-SQL中的BACKUP语句,也可以使用企业管理器中的备份工具向导来完成SDE和其他空间数据库的备份。
* 将备份文件复制到目标服务器
* 将备份文件恢复到目标服务器:可以使用企业管理器中的恢复还原工具向导来完成SDE和其他空间数据库的恢复。
* 统一SDE用户登录映射
A. 两个服务器上都有SDE用户,但是两者的SDE用户具有不同的标识
当恢复SDE数据库至新的服务器后,sde数据库中的sde用户的SID与master数据库中dbo.sysxlogins表中的sde登录名的SID不同,比如:
Use sde
go
Select SID from sysusers where name = 'sde'
Use master
go
select SID from sysxlogins where name = 'sde'

SID
-----------------------------------------------------------
0x76695419BFAED41184FD00C04F8D0451
(1 row(s) affected)

SID
-----------------------------------------------------------
0xEDDFCA8E56B0D411850000C04F8D0451
(1 row(s) affected)
此时必须统一两个表中sde用户的SID标识,运行"sp_change_users_login" 存储过程,示例如下:
    Use sde
go
sp_change_users_login 'update_one','sde','sde'
运行上述的SID查询来验证修改结果:
0xEDDFCA8E56B0D411850000C04F8D0451
0xEDDFCA8E56B0D411850000C04F8D0451
可以看出修改后两个表中sde用户的SID标识完全一致,此时就可以启动ArcSDE for SQLServer的服务来使用了。
B. 目标服务器上还没有SDE用户
这种情形是指目标服务器上还没有sde登录用户,此时执行上述的SID查询,结果如下:
Use sde
go
Select SID from sysusers where name = 'sde'
Use master
go
select SID from sysxlogins where name = 'sde'
SID
-----------------------------------------------------------
0x76695419BFAED41184FD00C04F8D0451
(1 row(s) affected)
SID
-----------------------------------------------------------
(0 row(s) affected)
要矫正这种情况,需要首先到目标服务器中添加sde登录用户,但是不要将sde数据库的权限授予sde用户。添加登录用户,使用"sp_addlogin"存储过程和在企业管理器中使用登录管理工具。比如:
sp_addlogin 'sde','go','sde'
然后需要运行 "sp_change_users_login" 存储过程来统一master内dbo.sysxlogins表和恢复后用户数据库内sysusers表中的sde用户SID标识。
use sde
go
sp_change_users_login 'update_one','sde','sde'
最后,可以执行SID查询来验证SID的一致性:
Use sde
Go
Select SID from sysusers where name = 'sde'
Use master
Go
select SID from sysxlogins where name = 'sde'
SID
-----------------------------------------------------------
0xF6DFCA8E56B0D411850000C04F8D0451
(1 row(s) affected)
SID
-----------------------------------------------------------
0xF6DFCA8E56B0D411850000C04F8D0451
(1 row(s) affected)
经过SDE用户的SID的统一之后,就可以启动ArcSDE服务或者使用直接连接(direct connection)方式使用恢复后的空间数据了。

posted @ 2006-11-28 20:13 Flyingis 阅读(2668) | 评论 (1)编辑 收藏

[DWR文档] WEB-INF 参考

     摘要: DWR中文文档--WEB-INF 参考

翻译的方式采用中英文对照,翻译的文字不会完全和英文一一对照,主要是为了在不失原意的情况下保证中文的阅读理解习惯,当然,翻译的过程需要大家的支持,翻译不妥的地方尽请拍砖、指正。  阅读全文

posted @ 2006-11-18 09:34 Flyingis 阅读(5262) | 评论 (0)编辑 收藏

DWR 中文文档

     摘要: 我是DWR初学者,虽然DWR入门简单,但还是想尝试翻译一下DWR的部分文档,翻译过程中自己会有更多的思考,翻译的方式采用中英文对照,翻译的文字不会完全和英文一一对照,主要是为了在不失原意的情况下保证中文的阅读理解习惯,当然,翻译的过程需要大家的支持,翻译不妥的地方尽请拍砖、指正。

Jet Mah已经开始翻译DWR文档,我将在他未翻译的文档中摘取比较重要的章节进行翻译,也算是对开源尽一点绵薄之力。我已翻译的部分在Java Tang中也会留言给出链接。  阅读全文

posted @ 2006-11-18 09:15 Flyingis 阅读(8304) | 评论 (2)编辑 收藏

中国计划建设自己的卫星导航系统

    2006年11月3日,中国在北京宣布计划建立一套自己的卫星导航系统,整个系统包含35颗卫星,并于2008年在亚洲区域投入运行。该系统名称为“Beidou”,将包括五颗对地静止轨道卫星和三十颗中距离地球轨道卫星,新华社通讯员11月2日。

    据报道,整个卫星导航系统将提供两套服务,其中免费服务面向大众,许可认证服务面向军事方面。面向商业客户的卫星系统服务将提供10米的定位精度,速度分辨率为0.2米/秒,而时间分辨率在50*十亿分之一秒以内。关于整套系统的费用没有详细的报道。

    在此之前,中国已经加入了欧空局35亿欧元伽利略计划研发卫星导航系统,以摆脱美国军用全球卫星导航系统的垄断。

    详细信息可以访问(英文):
    http://www.chinadaily.com.cn/china/2006-11/03/content_723687.htm

posted @ 2006-11-14 22:26 Flyingis 阅读(1298) | 评论 (2)编辑 收藏

用 JavaScript 玩转 DOM Level 1

     摘要: DOM(The Document Object Model)将HTML转换为XML文档格式来表达,为动态HTML编程提供了一种优雅的解决方案。DOM编程可以使用多种语言(Java中可以使用SAX进行XML编程),不论大家使用何种服务器端技术,JavaScript的DOM基础编程还是需要掌握的,最常见的莫过于getElementById(),引用Prototype.js使用最多的也是$(""),但是要做好Web客户端设计,我们需要了解更多更细。

当前各种主流浏览器对DOM Level 1标准支持的相对较好,我们就来看看在JavaScript中如何玩转DOM Level 1。  阅读全文

posted @ 2006-11-07 22:14 Flyingis 阅读(5317) | 评论 (6)编辑 收藏

[Design Pattern] The Decorator Pattern

     摘要: Decorator Pattern,看看魔兽中的山丘是怎么应用这种模式的(个人设想)。  阅读全文

posted @ 2006-11-07 11:04 Flyingis 阅读(3095) | 评论 (3)编辑 收藏

清除 Trojan [转载]

     摘要: 在网上找到的Trojan-Downloader.Win32.QQHelper.mo查杀过程,经验证方法有效,特转贴与大家分享。  阅读全文

posted @ 2006-10-24 16:38 Flyingis 阅读(1594) | 评论 (0)编辑 收藏

Firefox 2.0 正式提供下载,JavaScript 1.7 获得支持

    现在 Mozilla官方网站 还没有Firefox 2.0正式版的下载链接,但驱动之家已经开始提供下载链接,包括 Mozilla官方FTP ,和 mydrivers网站上本地下载 ,迫不及待的朋友可以立即开始体验Firefox 2.0。

    我用Firefox除了支持开源软件外,还有一个重要用途就是调试JavaScript,我之前的一篇随笔《
JavaScript 调试工具 》简单介绍了JavaScript的调试利器。随着Firefox 2.0正式发布,JavaScript 1.7也开始在最新版的Firefox中正式获得支持,虽然正式项目中还不大可能用到JavaScript 1.7,但做JavaScript开发的朋友肯定会给予JavaScript更多的关注。

    JavaScript 1.7在1.6的基础上加入了新的特性,具体大家可以参照这里:

    --
New in JavaScript 1.6 --

    --
New in JavaScript 1.7 --

posted @ 2006-10-24 14:57 Flyingis 阅读(1292) | 评论 (0)编辑 收藏

IE7 正式版推出

     摘要: IE7 官方正式版已经推出,看看它为我们带来了什么……  阅读全文

posted @ 2006-10-19 09:25 Flyingis 阅读(2753) | 评论 (7)编辑 收藏

[翻译] 如何在 JavaScript 中实现拖放(下)

     摘要: 终于完成了全文的翻译,由于时间比较参促,文章没有过多的校正与润色,阅读过程中难免会有些许生硬或不准确的感觉,请大家见量并指出,方便他人阅读。

原文作者将拖放功能的实现分步讲解,其核心的地方在于移动和放置元素时,鼠标、移动元素、目标元素关系的处理,只要这个问题处理好了,代码就很容易理解,译文仅供辅助参考之用,demo可以参考原文链接。  阅读全文

posted @ 2006-10-15 17:03 Flyingis 阅读(6624) | 评论 (19)编辑 收藏

[翻译] 如何在 JavaScript 中实现拖放(中)

     摘要: 上一篇文章介绍了移动页面元素所涉及到的捕获鼠标移动和鼠标点击的相关问题,本段文章将介绍如何移动和放置页面元素。  阅读全文

posted @ 2006-10-13 14:53 Flyingis 阅读(5263) | 评论 (2)编辑 收藏

[翻译] 如何在 JavaScript 中实现拖放(上)

     摘要: JavaScript擅长于修改页面中的DOM元素,但是我们使用JavaScript通常只是实现一些简单功能,例如实现图片的翻转,网页中的标签页,等等。这篇文章将向你展示如何在页面中,对创建的元素实现拖放。
(译者注:原文发布已有一段时间,但感觉作者思路清晰明了,值得一读。文章一次看完比较好,但时间有限,我会尽快将剩下部分补上)  阅读全文

posted @ 2006-10-11 16:20 Flyingis 阅读(7382) | 评论 (2)编辑 收藏

[Design Pattern] The Observer Pattern

     摘要: 在讨论设计模式时,我喜欢用英文名来称呼各种模式,觉得这样会更为准确一些。设计模式在Java开发领域已经是炙手可热的山芋,披上了这件战袍,似乎就可以在程序设计中立于不败之地,不仅可以规范自己的武功招式,还能够看清其他高手的武功套路。在接下来[Design Pattern]一系列的随笔中,我将系统的研究各种常用的设计模式,主要的参考资料是《Head First Design Patterns》,主要的思路是,介绍基本概念(虽然做Java开发的熟手已经对此熟悉的不得了),将思维转换为代码设计,谈谈在实际中开发的应用,也许还会有各种模式的弊端。  阅读全文

posted @ 2006-09-30 16:40 Flyingis 阅读(2986) | 评论 (1)编辑 收藏

GeoRSS 应用方案

    作者:Flyingis

    GeoRSS提供了一种地理位置搜索与聚合的方案,并且可以用于地理分析,例如在指定地点10公里范围内,所有可能受地震影响的地物的信息,在自己出行道路中出现交通事故的位置点,等等。只要RSS包含了地理位置信息,就可以将应用进行扩展。

    那么哪些技术方案可以支持GeoRSS呢?目前ESRI已经支持通过JavaScript API来使用GeoRSS,我们可以不用将GeoRSS导入到ArcWeb Explorer中,仅仅将GeoRSS URL链接输入到搜索框即可。如下图所示(图片来自于James Fee的博客)。


    遗憾的是,ESRI目前仅支持点的聚合查询,并且使用GeoRSS Feeds还存在一些bug。

    另外一种方案,就是结合Microsoft Virtual Earth API来使用GeoRSS,这是Virtual Earth API 3.0中新增的一项强大的功能。GeoRSS层可以很容易的使用基于WGS84 lat/long坐标系,或GeoRSS Simple语法的GeoRSS XML文件,加入一组点到地图上,具体的方法可以参考这两篇文章:

    http://blogs.msdn.com/keithkin/archive/2006/09/19/761333.aspx
    http://blogs.msdn.com/keithkin/archive/2006/09/19/761573.aspx

    在Keith的demo中,他实现了将鼠标停留在地图上某标注点,其相关信息就会反应出来,示例如下:

    http://krkinnan.members.winisp.net/samples/georss/hurricaneivan.html

    关于GeoRSS:http://www.blogjava.net/flyingis/archive/2006/09/25/71823.html

posted @ 2006-09-28 11:15 Flyingis 阅读(1961) | 评论 (0)编辑 收藏

GeoRSS

    作者:Flyingis

    RSS已经成为互联网上共享知识、分享信息的最为主要手段之一,通过订阅RSS,我们可以从网络的海量信息中获取我们所关心的数据,包括文字、图片等。将地址信息通过一种交互的方式,使得应用可以请求、聚合、分享、发布Feeds,成为地理信息在未来一段时间的一个热点。

    GeoRSS成为了地理信息数据Feed资源化的先锋队员,GeoRSS存在两种编码方式,分别是GeoRSS GML和GeoRSS Simple。前者是标准的GML应用,相比后者支持更为广泛的特性,可以和Atom 1.0、RSS 2.0、RSS 1.0一起使用,并且它还可以在非RSS XML编码的环境中使用。GeoRSS Simple显得更为轻便,当然在扩展性能上就会有所限制。

    举个例子说明这两者的区别,例如我们需要将一个点进行XML编码,使用GML和Simple两种方式的格式分别如下:

    Simple
<georss:point>45.256 -71.92</georss:point>

    GML
<georss:where>
  
<gml:Point>
    
<gml:pos>45.256 -71.92</gml:pos>
  
</gml:Point>
</georss:where>

    具体的介绍,可以参考GeoRSS官方网站:http://www.georss.org/。有时间我会对GeoRSS模型与使用方法进行分析。

posted @ 2006-09-25 20:58 Flyingis 阅读(2543) | 评论 (0)编辑 收藏

Firefox 2.0 rc1

    Mozilla Firefox 2.0 rc1已经可以下载测试了,它包含了许多新的变化,具体的参考这篇文章:
http://tech.cybernetnews.com/2006/09/12/another-round-of-theme-updates-for-firefox-2/

    从这个链接可以下载到最新的版本:
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2.0rc1-candidates/rc1/ 

    据Jithen Singh介绍,Mozilla Firefox 2.0 rc1对
ArcGIS Server 9.2 rc1似乎提供了更好的支持。

    更新:刚在mydrivers.com上面看到了一篇文章:《IE7 RC1 VS Firefox2 RC1》。比较有意思的对比测试。(2006-9-29)

posted @ 2006-09-25 09:25 Flyingis 阅读(1151) | 评论 (1)编辑 收藏

JavaScript 随笔汇集

     摘要: 更新日期:2006-11-18  阅读全文

posted @ 2006-09-18 15:31 Flyingis 阅读(4050) | 评论 (9)编辑 收藏

[翻译] "this" of JavaScript

     摘要: this是JavaScript中功能最强大的关键字之一。不幸的是,如果你不知道它具体怎么工作,你将很难正确使用它。原文的题目是《The this keyword》。
翻译不恰当的地方请大家指出。  阅读全文

posted @ 2006-09-15 15:02 Flyingis 阅读(3498) | 评论 (3)编辑 收藏

JavaScript 对象的反射及应用

     摘要: Java和.NET都有着比较完善的反射机制,用来处理未知的对象并获取它们的属性和方法。JavaScript虽然没有完善的反射体系,但在编程的时候还是可以通过代码设计来实现类似反射的基本功能。  阅读全文

posted @ 2006-09-12 18:50 Flyingis 阅读(5814) | 评论 (5)编辑 收藏

使用 JSON 创建对象

    作者:Flyingis

    一般在JavaScript中可以调用Object类的构造函数来创建对象:

var obj = new Object();

    并且可以将对象附加到其他对象上,类似于C++中的对象数组,例如,某大学里拥有多个专业,每个专业都有一位主任和多名讲师组成,在JavaScript中可以这样来描述:

var university = new Object();
university.specialty 
= new Array();
university.specialty[
0= new Object();

//该专业的主任是Sam
university.specialty[0].director.name = "Sam";
university.specialty[
0].director.age = 40;

//该专业的两位讲师分别是Tom和Jerry
university.specialty[0].instructor = new Array();

var tom = new Object();
tom.name 
= "Tom";
tom.age 
= 32;
university.specialty[
0].instructor[0= tom;

var jerry = new Object();
jerry.name 
= "Jerry";
jerry.age 
= "35";
university.specialty[
0].instructor[1= jerry;

    可以看出,当对主任和讲师有更详细的描述时,这样一层层的代码给人感觉非常繁琐,许多代码都是重复编写,不但增加了代码量,并且还很枯燥。

    JSON是一种轻量级的数据交换格式,它的优点就是便于读写,可以将JavaScript中的对象及其赋值写成键值对的形式,例如上面代码通过JSON来描述可以写成:

var university = {
  specialty : [
  
{
    director : [
      name : 
"Sam",
      age : 
40
    ],
    instructor : [
      
{name : "Tom", age : 32}
      
{name : "Jerry", age : 35}
    ]
  }

  ]
}

    这样来描述整个对象的内部结构显得更为简洁、清晰,除了声明属性和对象外,还可以使用JSON创建的对象定义成员函数。当然,不论采用何种方法来描述,目的都是为了更高效直观的编写JavaScript代码,我们可以使用JSON定义一个对象,然后使用JavaScript添加属性,也可以使用JSON来扩展JavaScript所定义的对象,创建任意复杂的对象层次。

posted @ 2006-09-11 19:33 Flyingis 阅读(3890) | 评论 (1)编辑 收藏

博客显示的问题(BlogJava 系统 bug)

    我的博客里全是江南白衣的随笔。

    今天已经是第二次出现这种情况,进入我的博客随笔全部重复为江南白衣的一篇随笔,但博客上面的标题和右边的日期、公告、链接、回复等等都还是我自己的,今天上午11:32出现第一次的时候感觉是缓存的问题,偶尔一次没怎么在意,现在下午14:30又出现了一次,dudu看看有没有问题。

    出现问题时的截图:http://www.blogjava.net/images/blogjava_net/flyingis/question2.gif

posted @ 2006-09-05 14:47 Flyingis 阅读(1006) | 评论 (2)编辑 收藏

仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页