Tag Archives: ArcGIS Server

ArcGIS API for Silverlight 2.0 beta发布

rt,姗姗来迟~

几大亮点:支持编辑功能;支持与time-enabled数据交互;必须使用silverlight 4&vs 2010&expression  blend 4进行开发;要使用完整功能必须有arcgis server 10支持;支持wkt。

具体见http://help.arcgis.com/en/webapi/silverlight/help/?Whats_New.htm

what’s new:

  • Silverlight 4 is now required to develop Silverlight applications.  Silverlight 3 is no longer supported.
  • Visual Studio 2010 and Expression Blend 4 are required when building Silverlight 4 applications.
  • You can edit feature layers associated with an ArcGIS 10 Server feature service.
  • The Map and layers support display of time enabled data.
  • The enhanced geometry and route service operations are available.
  • The API now supports spatial reference defined as well-known text (WKT).

Known issues:

  • Both Silverlight templates may return an exception or blank page in the design view of Expression Blend 4 and Visual Studio 2010.  To resolve, add a reference to the System.Windows.Controls.Data.Input.dll (in <Program Files>Microsoft SDKsSilverlightv4.0LibrariesClient) and refresh the design view.

ESRI Silverlight Application Plus(chs)

演示地址:http://newnaw.com/pub/sl/esrislappplus 其中一些布局感谢”金属狂人”的建议
版本:ArcGIS API for Silverlight 1.2
说明:安装好ArcGIS API for Silverlight 1.2后,在vs2008中会出现两个模板程序:ESRI Standard Map Application和ESRI Showcase Map Application。其中前者与广为流传的Flex Viewer很像,但界面过于简陋,功能过于简单,如果想以它为基础构建快速应用的话还得费点功夫。在它的基础上,我将Code Gallery中的一些功能添加了进来,并将界面基本汉化,下面放出程序代码供大家学习交流之用。
功能:放大/缩小,前/后视图,放大镜,缩略图,书签,Identify,图层属性表,3个测量功能,地址定位。
截图:

下载地址:http://bbs.esrichina-bj.cn/ESRI/thread-64924-1-1.html

ps:地址搜索用到了Google Map API,具体应用时请注意版权问题。
pps:这个程序仅是个人集成,属于民间作品。
ppps:这两天之内ArcGIS API for Silverlight 2.0 beta版本便会放出,但要充分利用新的功能,必须拥有ArcGIS Server 10才行。所以对于暂时升级不了AGS的朋友,这个东西应该还是凑合能用一段时间的。

在64位Windows 7/Windows Server 2008上安装ArcGIS Server 9.3.1的注意事项

1、Windows 7/Vista上安装ags 93/931的额外步骤:Additional Vista Requirements。注意:图中是最小要求,其他功能选装;
2、ArcGIS Server目前是32位程序,在64位操作系统中,为了保证稳定,需要以32位程序运行。因此,IIS和ASP.NET也需要运行在32位模式下,具体步骤如下:(1)在命令行中运行引号 中 的命令来开启32位模式:“cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1”;(2)在命令行中运行引号 中 的命令来安装32位ASP.NET 2.0并将所有应用程序池运行在ASP.NET 2.0上:“%SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i”;(3)确保IIS中的Web服务扩展列表里ASP.NET version 2.0.50727 (32-bit)设置为允许。详见这里
上面步骤中,(1)中如果没有inetpubadminscripts文件夹,是因为缺少IIS中的某个功能,方便起见可以安装IIS所有功能,该文件夹即可出现,(3)中,IIS6中Web服务扩展是控制树中的一个节点,IIS7中的ISAPI and CGI Restrictions即是Web服务扩展;
3、ArcGIS Server安装完成后,登陆Manager页面,管理服务会出错,提示“工作站服务未启动”。解决办法:将登陆manager的用户添加到Administrators组中即可。详见这里

ArcGIS API for Silverlight中专题地图的实现浅析

        专题地图是突出表现特定主题或者属性的地图。常见专题地图类型有唯一值渲染,分类渲染,柱状图,饼状图,点密度图等。这些在ArcMap里,图层属性的Symbology标签中已有很好的诠释。
        三种客户端API中目前为我们提供了现成的UniqueValueRenderer和ClassBreakRenderer功能,但有些食之无味,弃之可 惜。原因有二:1、领导常常并不认可这两种简约而不简单的专题图,因为他们没有看到复杂的圆饼和长柱;2、API中提供的两种专题图利用 GraphicsLayer自己实现也比较简单。这次以Silverlight API为例,探讨一下传统专题图实现的可能性。
        要呈现专题图,有两个步骤:
        1、绘制chart,比如饼图和柱图。有以下完成途径:Google Chart APISilverlight Toolkit中的Chart功能(开源)Visifire(开源)。前者使用最简单,后者效果最好,暂时抛弃中庸的。
        2、将绘制好的图形显示出来。因为是与地图服务无关的数据,所以可用GraphicsLayer来完成,而且可以利用其中的Cluster功能,推荐使用此办法。此时需要将chart定制为Graphic的Symbol;也可以利用ElementLayer来显示,此时需要将chart定制为UIElement。
        通过三个例子来说明,专题要素是我国人口总数、城市人口数、非城市人口数。
        1、选用GraphicsLayer,利用cluster功能,通过google api绘制静态chart。大概步骤:通过继承GraphicsCluster基类实现cluster功能,通过形如:http://chart.apis.google.com/chart?chs=100×100&chd=t:60,40&cht=p3的请求利用google chart tools绘制chart,通过PictureMarkerSymbol承载chart,交给Graphic显示。效果如图:

        补充说明:1、通过google chart创建的静态图形没办法“说话”,不过可以利用GraphicsLayer的Maptip来实现简单交互;2、google chart目前还没办法创建背景透明的chart,Silverlight目前也不能去除位图背景色,但可以通过服务器上的GDI+功能来使背景透明,然后显示。
        2、选用GraphicsLayer,利用cluster功能,通过visifire绘制可交互的chart。大概步骤:通过继承 GraphicsCluster基类实现cluster功能,通过继承MarkerSymbol来允许visifire产生的chart作为Symbol 赋给Graphic,最后显示Graphic。效果如图:

        补充说明:visifire目前暂不支持databinding,所以利用改变MarkerSymbol的ControlTemplate办法无法动态修改chart数据。
        3、选用ElementLayer,通过visifire绘制可交互的chart。大概步骤:根据专题要素动态创建可交互的chart,利用Graphic的Geometry来定位。效果如图:

        补充说明:可根据比例尺处理chart的详细程度,比如小比例尺时尽量精简chart,避免互相压盖,大比例尺时显示详细的chart信息;必要时可自己实现cluster算法。

ESRI即将推出ArcGIS Explorer在线应用

        八卦地址:New releases of ArcGIS Explorer and ArcGIS Explorer Online at FedUC
        ESRI今年的联邦用户大会又召开了,我来给大家当个场外记者。从上面的blog可以看出几点重要新闻:
1、ArcGIS Explorer build 1200即将推出。底图中,微软饼地图可以免费使用了,不需要额外的许可。我相信目前有不少无法直接提供许可但又想尝鲜的用户会认为ArcGIS中饼的底图是个鸡肋;猜想,桌面产品中以后是不是也可以直接免费使用饼地图了呢?
2、基于Silverlight的ArcGIS Explorer Online即将推出。简而言之,就是ArcGIS Explorer的在线版本。AutoDesk有在线AutoCAD(基于Flex),猜想,ESRI以后会不会有在线的ArcMap呢?至少trial version是个好主意。
        btw,既然说到了云,就跟大家推荐一下谷歌音乐的播放器,我是今天才发现它比较好用,可以用微软的live账号登陆,完全可以成为一个在线的千千静听~

免费来host你的Silverlight应用

        做好了Silverlight应用,如何免费把它发布给大伙围观呢?目前有3种办法,但是很快会变成2种,不久的将来又可能会变成3种:)

  1. 通过Dropbox利用dropbox来Host你的silverlight应用。Dropbox是非常有名的同步应用程序,利用好它基本可以丢掉你的U盘了。当然这个办法也可以用来host flex程序;
  2. 通过Windows AzureDeploy an ArcGIS Silverlight application to Windows Azure。微软的云计算平台,牌子~但坏消息是从今年2月1号起开始收费,也就是说这种免费的办法即将消失,囧;
  3. 通过Google Sites:对于flash来说,可以在页面中直接使用标签插入,但silverlight不支持embed标签。但我真的见到有人把silverlight插入到google sites的页面里了,方法目前还在研究中。。。此外,Google Sites在国内现在是访问不了的;
  4. 通过Google Docs:这种办法目前只能存储你的Silverlight程序,还不能运行。但最近google docs刚刚允许上传任何格式的文件(单个文件不超过250m,28日晚间劲爆更新:现在支持最大1g的单个文件了),并且可以在线预览office文档、pdf文件,很有可能某一天开始就可以预览html文件了,就变成将来的第三种方法了,默默期待吧。

ArcGIS API for Silverlight/WPF 1.1版本发布

        地址:http://resources.esri.com/help/9.3/arcgisserver/apis/silverlight/help/Whats_New.htm
        里面有很多重要变化,能够从各方面提高大家的工作效率:

  • 开发环境必须是Silverlight 3,Silverlight 2不再支持。这是因为sl3版本中多了很多重要的功能,arcgis api for Silverlight需要利用它们。包括behaviors,三维,element binding等。
  • 下载的API变成了可执行的安装包。之前版本的API都是大包的dll,自己引用就行,1.1版本需要在vs和blend里面进行配置,使得我们的开发工作变得更容易,比如在blend中对ArcGIS的控件进行拖拽操作。
  • 支持在Blend 3中进行可视化设计。至少大家不需要为地图等控件的布局头疼了。详见:Working with Expression Blend。
  • Silverlight程序模板。安装1.1版本API后,会自动在VS2008和Blend 3的新建工程中各创建一个模板程序,方便大家的开发工作。
  • 新的ESRI.ArcGIS.Client.Behaviors.dll库,充分利用Silverlight 3的Behavior特性。封装一些常用的鼠标操作,降低开发难度和工作量。具体请参见在线例子。
  • Toolkit命名空间中新的FeatureDataGrid和MapProgressBar控件。见其名,知其意。对于要展示图层属性表的开发者来说,前者再合适不过了。具体可参见在线例子。
  • ArcGISDynamicMapServiceLayer直接返回MIME数据,而不是生成图片的url;且输出支持PNG8,PNG24,PNG32,JPEG4中格式。这样就省去了一步获取生成图片的请求,提高效率。
  • 图层加载失败的时候自动抛出异常。Layer的InitializationFailed事件不再沉默,估计是简单的问题困扰了太多人,这算是比较贴心的一个改变。
  • ArcGISImageServiceLayer输出支持PNG8,PNG24,JPEG3中格式。
  • 全屏视图下支持鼠标滚轮操作。
  • FlareClusterer属性可在runtime时用代码进行设置;MapTip控件可设置消失的延迟时间。

        此外,还新上线一个Symbol Gallery,里面定义了很多漂亮有用的symbol,并带有xaml代码,大家可以拿来即用。