自定义博客皮肤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

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

原创 Amazon EC2 Linux实例定制内核

# 启动EC2 AMI实例# 获取内核源码get_reference_source -p kernelsudo rpm -Uvh /usr/src/srpm/debug/kernel-3.2.21-1.32.6.amzn1.src.rpm# 安装依赖包sudo yum install -y gcc gcc44 system-rpm-config m4 rpm-b

2012-07-06 13:19:47 4179 1

原创 Eclipse+MinGW+SWIG包装Java接口

A.  新建并实现C++类库设计这个类库的名字为SwigLib,其中需要一个Random类来生成随机数。首先在Eclipse中新建Shared Library Project:添加Random类:/* * Random.h */ #ifndef RANDOM_H_#define RANDOM_H_ namespace SwigLib { clas

2012-05-21 12:51:33 4998

原创 CentOS 6.2 上安装使用私钥认证的Git服务器

A.  安装程序文件sudo yum install git python-setuptoolscd /optsudo git clone https://github.com/res0nat0r/gitosis.gitcd gitosis/sudo python setup.py installB.  添加git用户注意,git用户不要设置密码,使之不能登录。

2012-05-09 13:31:09 6167

原创 c3p0 vs. bonecp

有同事推荐BoneCP,网上搜一下benchmark结果也很是惊人,最近用连接池想到换成BoneCP。但是,经过我自己的使用和测试,我又换回了c3p0,原因有二:1.bonecp在高并发下的稳定性不如c3p0,其它完全一样的条件(web层Jersey,数据层postgresql),使用bonecp时的吞吐量多次测量结果的波动比c3p0明显要大,同时在性能上两者并没有本质区别,并没有出现bone

2012-02-13 00:19:27 11327 4

原创 2011 Esri中国开发者大会

http://developer.esrichina-bj.cn/ 其中有3个话题由我来主讲,尽情关注。 ---------------------------------------------------------------------------------------------------- 2011 Esri中国开发者大会将于6月16日在北京开幕。 大会期间您将与来自全国各地的GIS开发者和GIS应用专家以及多位Esri中国工程师欢聚一堂,共同探讨和分享基于ArcGIS的应用开发

2011-05-25 21:06:00 4113 1

原创 Linux Heartbeat实现高可用集群及在VirtualBox虚拟环境下的测试

【本文环境】VirtualBox 4.0.4,CentOS 5.5 x64 Heartbeat[1]是Linux下最常用的HA方案之一,主要为了解决集群前置服务器的单点失效问题。Heartbeat顾名思义可以在两台电脑间通过心跳信号来互相探测对方是否正常工作,因此,这两台电脑间需要有相应的物理介质连接起来。在这里,我并没有使用额外的网线(CAT-5双绞线[2])和网卡来实现,而是采用了串口线来建立心跳连接。 这样,在VirtualBox虚拟环境中,虚拟机间还需要使用一个虚拟的串口互相连接,这还需要一个软

2011-03-24 18:33:00 5333

原创 加密ArcGIS离线地图及其在Android上的实现

  加密ArcGIS离线地图的思路 目前,使用Compact格式的切片文件是离线地图的一个很好的方案,但是,如果我们可能会希望限制离线地图不被第三方程序使用;或者,希望限制离线地图只被经过授权的设备使用。在这样的需求下,我们必须保护好部署在智能设备上的离线地图数据,因此,需要对离线地图数据进行加密。 在这里,我使用了这样的一个思路,其中包含以下主要环节: 1. 经授权的设备序号+保密的标识符再经过MD5生成校验值。 2. MD5校验值与加密的离线数据一起分发,由于第三方程序无法得知保密的标识符,因

2011-03-11 16:29:00 14444 27

原创 《ArcGIS API for Android 案例教程》PDF版本

http://d.download.csdn.net/down/3034233/warrenwyf

2011-02-22 11:58:00 11202 17

原创 ArcGIS API for Android 案例教程 16

几何编辑 几何编辑从原理上和属性编辑是一样的,但是鉴于ArcGIS Android API自带示例中的AttributeEditor这个例子写得比较复杂,不利于表现API最精髓的部分,因此这里再就如何在客户端更改要素的几何属性,并通过Feature Layer保存到服务器做一个例子。 要进行几何编辑分为两个步骤,其一:在客户端修改几何对象的节点坐标;其二:将更新过的几何对象提交到服务器。 让我们首先考虑第一步,如何修改一个客户端的几何对象。让我们先新建一个工程名为“AgsEditFeatureLaye

2011-02-22 11:52:00 10079 2

原创 ArcGIS API for Android 案例教程 17

I. 利用Android的辅助功能 定位服务 在移动设备上,定位几乎已经是一个必不可少的功能了。在Android中,设备可以通过GPS、移动通讯网络、WIFI网络来进行定位,这些定位功能都被分装在一个LocationManager对象中,我们可以这样来使用Android的定位服务: public class AgsLocation extends Activity { MapView map = null; LocationManager loc = null; public void onCr

2011-02-22 11:52:00 15551 8

原创 ArcGIS API for Android 案例教程 15

属性编辑 别嫌我懒,ArcGIS Android API中正好还有一个进行编辑的例子,让我可以拿来主义一下。在这个AttributeEditor例子中,当你点击一个要素,程序就会弹出一个编辑要素属性的对话框供你对现有值进行修改: 图 33 编辑要素的属性 点击一个要素,从服务查询到该要素的属性信息在前面的内容中已经叙述过了,如何将查询到的属性显示在一个对话框中也是比较容易的(例子中将如何根据属性值来构建对话框这个过程进行了封装,这部分可以略过),我们需要关心的是一旦修改了某个属性值,然后点击对话

2011-02-22 11:51:00 7974 3

原创 ArcGIS API for Android 案例教程 14

I. 要素编辑 从ArcGIS 10开始,地图服务有了一个新的Capability——“Feature Access”,所有的要素编辑都是通过这个接口实现的。同时,在各种客户端中出现了一种新的图层名为“Feature Layer”,它可以对应到一个地图服务的某个要素图层,因此,要进行要素编辑,让我们先熟悉一下ArcGIS Android API中的Feature Layer。 Feature Layer ArcGIS Android API提供了一个选择要素的例子(SelectFeatures),这个

2011-02-22 11:50:00 9620 2

原创 ArcGIS API for Android 案例教程 13

地理处理服务 图 31 调用GP服务的ViewShed例子 ArcGIS Android API中演示GP服务的调用是一个很有意思的例子(ViewShed),这个例子让用户在屏幕上画一个点,再通过左上角那个执行的按钮发送一个调用GP服务的请求,当这个GP服务被调用成功后,返回给客户端的是一些多边形,这些多边形表示的是如果有人站在刚才用户画点的位置所能看到的区域。 现在,如果你打开这个例子的源代码,你应该可以很容易地从左上角那个“go”按钮的事件监听中找到这个GP服务的调用方法: GPFeatu

2011-02-22 11:49:00 6894

原创 ArcGIS API for Android 案例教程 12

I. 几何对象操作与地理处理 几何对象(Geometry)的操作和地理处理(GeoProcessing/GP)是在地图基础上实现更复杂GIS能力的必要功能,在这一章中让我们来看看在ArcGIS Android API中的如何对几何对象进行操作和如何使用GP服务。 几何对象的操作 ArcGIS Android API对几何对象的操作和其它ArcGIS的Web API有很大区别,它并不是依赖ArcGIS Sever的Geometry Service,而是在API库中本身就包含了对几何对象的定义和处理。

2011-02-22 11:48:00 11824 7

原创 ArcGIS API for Android 案例教程 10

I. 查询和识别 仅仅在客户端进行交互是不够的,用户大多数的时候都需要和服务交互,而最基础的需求就是对服务进行查询,涉及到空间查询、属性查询、要素识别等。 空间查询和属性查询 在这里,我想首先让用户在屏幕上绘制一个几何对象,至于怎么绘制这在上面的《通过交互绘制几何对象》一节中已经了解了,所以,这里我们可以简化一点:比如我们现在需要在屏幕上画了一个点,然后想用这个点做一个空间查询。 在这里,我把这些工作都放在屏幕长按的事件监听中,当用户在屏幕上长按时,我们认为用户在屏幕上画了一个点,取到这个点以后我们

2011-02-22 08:41:00 6536 3

原创 ArcGIS API for Android 案例教程 11

要素识别 要素识别就是ArcGIS中的Identify,它和上面的Query的区别在于可以执行多个图层的空间过滤,并可以指定一定的容差。要素识别的功能在ArcGIS Android API中的“HighlightFeatures”例子中被使用到了,我们先运行一下这个例子: 图 28 对地图服务进行要素识别 这样的功能实现上和QueryTask非常的类似,只不过调用的对象是IdentifyTask,让我们来简单看一下代码的实现: IdentifyParameters inputParameter

2011-02-22 08:41:00 8838 3

原创 ArcGIS API for Android 案例教程 9

通过交互绘制几何对象 客户端要素除了有显示业务数据的功能,同时也负责着和用户的交互。比如用户想要进行一个多边形查询,首先需要在客户端绘制一个多边形,然后再使用这个多边形进行一个空间查询。这样的一个功能我们可以从ArcGIS Android的DrawGraphicElements例子来学习一下,下面先看一下这个例子运行的效果: 图 25 通过用户交互绘制一个多边形 这个例子的关键在于可以通过在屏幕上进行触屏操作,然后记录触屏的坐标构成一个几何对象,结束后将这个几何对象通过Graphic的形式绘制到

2011-02-22 08:40:00 11147 11

原创 ArcGIS API for Android 案例教程 8

I. 客户端要素 客户端要素图层 ArcGIS Android中提供了一个客户端的要素图层GraphicsLayer,以ArcGIS以往Web开发的经验我们就可以知道这是用于客户端要素绘制的图层。让我们尝试在MapView中再添加一个GraphicsLayer: 这里我还添加了一个按钮“添加客户端要素”,我希望在点击这个按钮的时候,程序可以在地图的中央添加一个客户端要素,也就是在GraphicsLayer上添加一个Graphic,因此,我在这个Activity创建的时候

2011-02-21 08:51:00 19673 10

原创 ArcGIS API for Android 案例教程 7

导航与触屏操作 现在让我们看一下对MapView进行操作,比如首先第一个问题是地图导航。现在,让我们先新建一个ArcGIS Android工程,添加一个MapView,并加入一个地图服务(和Hello World差不多)。 运行这个程序后,不出意外你就能马上看到这个地图服务。这时,如果我想拖动一下地图,用鼠标拖动一下就可以;如果我想放大,在模拟器上双击也就可以了,其实如果是在真机上,用两个手指在屏幕上做一个放大的手势也可以;但是在模拟器上想要模拟缩小就比较麻烦了。所以,这里我想加上两个按钮,分别是“放大

2011-02-21 08:50:00 12680 14

原创 ArcGIS API for Android 案例教程 6

I. 使用MapView 任何一个GIS应用中都少不了地图作为参考,因此,又有哪个ArcGIS Android程序能少得了MapView呢? 动态操作地图服务 刚才我们一开始就在布局文件中加入了地图服务,现在我们来尝试在程序运行的时候动态操作地图服务,比如先动态添加一个地图服务。 ArcGIS Android API中有一个“AddLayer”例子可以用来作为参考,让我们先导入这个工程(位置:Map_View/AddLayer),运行一下看个效果先: 图 18 例子AddLayer的运行效果 虽

2011-02-18 09:01:00 12143 4

原创 ArcGIS API for Android 案例教程 5

运行这个ArcGIS Android程序 已经费了半天劲儿配环境、建工程,还看了一大段植入广告,真累啊……是时候需要看点实在的东西了!现在,让我们运行“AgsSampleHelloWorld”。 图 14 调试Android程序 和一般的Java程序类似,这里选择运行类型为Android Application。一个Android程序想要运行,显然还需要一个模拟器或者真实的设备,如果使用模拟器,那么可以选择刚刚新建的AVD: 图 15 选择模拟器 第一次启动模拟器会花费比较多的时间,当成功

2011-02-17 08:50:00 13220 20

原创 ArcGIS API for Android 案例教程 4

插播一些Android基本概念 要求在本文中植入一段广告,现在开始插播。广告同样精彩,请勿走开。 图 9 “Hello World”的工程目录结构 从Eclipse中展开“AgsSampleHelloWorld”工程,我们就可以看到图 9这样的目录结构。在这个目录结构中,最扎眼的就是“src”目录和其中的“HelloWorld.java”,这让我们马上意识到这是一个Java程序。没错,Android系统虽然是基于Linux内核的,但是在Android开发应用程序却是使用Java语言,Java代码编

2011-02-16 08:37:00 11356 5

原创 ArcGIS API for Android 案例教程 3

I. 理解开发模式 首先,你需要知道的第一件事就是:ArcGIS Android API依赖ArcGIS Server的REST接口。相信不少做过ArcGIS Server开发的人都接触过REST接口,因为无论是ArcGIS的JavaScript API、Flex API、Silverlight API、Windows Phone API等等,它们都依赖ArcGIS Server提供的REST接口的服务。因为,仅仅依靠浏览器或者移动设备本身所能实现的功能是非常有限的,而ArcGIS Server才是它们坚

2011-02-16 08:35:00 9621

原创 ArcGIS API for Android 案例教程 2

ArcGIS开发插件 现在Android的开发环境已经具备,后面就需要安装ArcGIS开发相关的库和Eclipse插件了。在此之前,你还需要确认你已经下载了Android 2.1或2.1的平台,因为这是ArcGIS Android API的系统需求[1]。 Esri提供了一个在线升级地址(http://downloads.esri.com/software/arcgis/android)来帮助用户安装ArcGIS的开发插件,在Eclipse中,还是通过【Help】->【Install New Softw

2011-02-15 08:40:00 11051 6

原创 ArcGIS API for Android 案例教程 1

本文环境:Windows 7+ArcGIS Server 10+ArcGIS API for Android 1.0 beta I. 配置开发环境 ArcGIS API for Android(以下简称ArcGIS Android API)的开发环境其实就等于“Android开发环境”+“ArcGIS开发插件”,Android开发环境是基于Eclipse的,因此,只要熟悉Eclipse的应该很容易配置。 Android开发环境[1] Android开发环境是基于Eclipse的,而ArcGIS An

2011-02-14 11:25:00 23974 19

原创 ArcGIS Editor for OpenStreetMap

我有个底图上想加一些osm矢量数据,以往的做法是去官网下载,但是下载的xml还得用比如osm2kml之类的脚本转化,总的来说很不方便。现在Esri已经基于ArcGIS 10开发了一个插件可以直接下载OpenStreetMap的数据,下载的数据直接存储为Geodatabase,还可以帮你进行样式配置,并且这个插件是开源的:www.esri.com/osm-editor!

2011-02-11 11:05:00 12419 3

原创 解决重启机器后,ArcGIS Server for Java的REST接口无法访问的问题

听不少人反映过有这个问题,以前一直没怎么遇到过也没放在心上。今天我也遇到了,虽然重启“ArcGIS Server Manager Service”这个服务就可以解决,但是总归有点不舒服。 于是,就去查看了一下manager日志,其中记录了几个rest handler的错误,大意是SOM主机访问不到。所以,我猜测应该是“ArcGIS Server Manager Service”这个服务启动的时候,“ArcGIS Server Object Manager”这个服务还没有来得及启动造成的,因为这两个服务是独

2010-12-27 23:25:00 4872 6

原创 ArcGIS 切片缓存紧凑文件格式分析与使用

在ArcGIS 10中出现了一种新的切片缓存文件格式:紧凑型存储(Compact)。与之前的松散型存储(Exploded)相比,它有迁移方便、创建更快、减少存储空间等诸多优点,已经成为了创建切片缓存的默认格式。对于本身ArcGIS的产品而言,访问紧凑型存储与访问松散型存储没有任何区别,但是,如果第三方应用想访问新的切片格式,目前官方给出了“不可以”的答复: The internal architecture of the bundle is not publicly documented by ESRI.

2010-12-11 16:09:00 36458 64

原创 做个广告,Esri认证考试

Esri认证考试项目已经正式上线。12月27日开始,Esri全球合作伙伴可以申考,2011年1月17日软件用户可以申考。 证书很简约大方:

2010-12-07 21:38:00 3493 1

原创 在Amazon EC2实例上部署ArcSDE

在国内目前还享受不到Esri提供的几种云计算服务的任何一种的,话说回来,就是有你也不敢用,因为在国内访问Amazon那个速度慢的啊,还有那个墙,天知道他什么时候发作。不过,研究研究还是需要的,同时,即使没有Esri的帮助,在Amazon EC2的实例上部署ArcGIS的软件也是可以自力更生的。 其实这个过程相对还是比较简单,我们需要在启动实例时注意在Security Group设置中允许SSH和另外一个用不到的服务(比如我选了POP3),然后在远程实例上安装SSH服务器如copssh。有SSH后就可以通过

2010-12-05 01:51:00 1630

原创 在Python中使用ArcObjects对象

在Python中使用ArcObjects对象 【本文环境】ArcGIS 10,Python 2.6 在ArcGIS 10以后,VBA将退出ArcGIS产品中,由此可想而知,将来Python在ArcGIS产品中的地位将会十分重要。虽然在ArcGIS中Python已经存在了很长一段时间,但是,一般常用的可能还是将模型导出为Python脚本,然后用以和他人交换或者使用操作系统定时任务等方式供其它程序调用。而本文需要描述的是,如何通过编写Python脚本,并在脚本中使用ArcObjects对象,来充分发挥Pyt

2010-11-28 00:21:00 3981 3

原创 ArcGIS Android API 0.1 内部预览版

正式版应该也快了:

2010-10-19 16:33:00 1896 1

原创 使用ArcGIS Flex扩展全景地图模式

效果截图如下,左右可以无限拖动地图: 代码在这里可以下载: http://www.arcgis.com/home/item.html?id=84ebd8b4286c4f67812615b4b6f0e7fa

2010-10-18 11:18:00 3600 2

原创 CentOS上配置LVS DR集群

CentOS上配置LVS DR集群 I. 环境 3台集群服务器操作系统:CentOS 5.5 x86 1台客户端操作系统:Windows 2008 x64 II. 网络拓扑图 LVS集群使用DR模式,1个DS(Director Server),2个RS(Real Server)。路由只有一个,RouteA=RouteB。上图中的GW为网关(GateWay),VIP为LVS中的虚拟IP。 III. 服务器配置 · DS 修改/etc/sysctl.conf文件: net.ipv4.ip

2010-09-21 16:14:00 4360

原创 《海量空间数据库实施策略-栅格数据》PDF版本

http://download.csdn.net/source/2700340

2010-09-16 22:18:00 1852 1

原创 海量空间数据库实施策略-栅格数据 8

I. 设计策略示例 · 单幅大影像 数据源:单幅58.1G大小的NTF数据。 这是一个无压缩的DEM数据,虽然数据没有压缩,但是对于NTF这种数据格式直接访问的性能,我们未必有把握断言,因此,首先需要对这个数据本身读取的效率进行一定的度量。 参考前面的讨论和一些数据,我们知道一个4.72G大小的无压缩TIFF在数据分辨率下进行一个预览的耗时仅有0.08秒。现在首先来看一下这个近60G的无压缩NTF数据的效率: 图 10 使用Map Service Publishing查看出图效率 在栅格数

2010-09-16 22:08:00 1677

原创 海量空间数据库实施策略-栅格数据 7

· 金字塔 在对前面一些因素的分析中,我们始终采用了未创建金字塔的存储数据进行讨论。这并非是对金字塔可以提高浏览速度作用的故意无视,而是我们希望排除掉金字塔的影响来获取我们需要的单个角度的信息。 现在,让我们来看一下金字塔的原理。金字塔通过在不同的比例尺下预先进行重采样并保存结果,避免了原始的栅格数据在小比例尺下实时重采样的过程,因此,此举能大大提高小比例尺下栅格数据的浏览效率。 图 8 栅格金字塔的原理 但是,从金字塔的原理可以知道,在与数据实际分辨率相近的比例尺下,金字塔并不能起任何加速显

2010-09-16 22:04:00 1915

原创 海量空间数据库实施策略-栅格数据 6

· 栅格切片尺寸 在导入栅格到ArcSDE中的时候[1],从《II.栅格数据模型》中可以知道,栅格实际上是被切割成一块块存储在SDE_BLK_表中,每条记录代表了一个切片。默认这个切片的尺寸大小是128×128像素,对于这个切片在数据库中的存储在这里进行一下更深入的讨论。 如果我们在导入栅格的时候选择的压缩方式为None或者默认的LZ77,从上面的《压缩格式与压缩比》章节中可以知道,数据(基本)没有被压缩;对于没有压缩的数据,128×128像素大小的一个栅格切片应该包含16K个像素;而对于最常见的8 B

2010-09-14 21:48:00 1440

原创 海量空间数据库实施策略-栅格数据 5

I. 一些影响因素 · 压缩格式与压缩比 在导入栅格数据的时候,可以根据需要选择不同的压缩格式和压缩比,常见的有无压缩、LZ77、JPEG、JPEG2000等,其中有如LZ77的无损压缩方式,也有JPEG等有损压缩格式,对于有损压缩格式还可以选择不同的压缩质量。对于不同的压缩格式和压缩比下的栅格数据的存储和质量,下面有一个简单的比较。 以一个4.72G大小的TIFF格式无压缩无金字塔的栅格数据为数据源,将其导出成若干个不同压缩格式和压缩比的数据,结果如下:

2010-09-10 15:55:00 1467

原创 海量空间数据库实施策略-栅格数据 4

· Mosaic Dataset 在ArcGIS 10中出现了一种新的数据模型Mosaic Dataset,它在某种程度上有点类似Raster Catalog,可以管理多个栅格。并且,不管是在File Geodatabase还是在ArcSDE中,Mosaic Dataset都可以将数据保留在外部而仅在Geodatabase中保存数据的引用,你会发现在Mosaic Dataset中加载数据非常快。换句话说,Mosaic Dataset的作用是把已经存在的栅格数据(不管是文件存储还是已经入库)管理起来。 在

2010-09-09 10:07:00 1729

《ArcGIS API for Android 案例教程》PDF版本

《ArcGIS API for Android 案例教程》PDF版本

2011-02-22

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

《海量空间数据库实施策略-栅格数据》 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关注的人

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