摘要: 昨天一QQ好友问了一个关于裁剪的问题,感觉自己也没有帮上什么忙,之后自己做了一个裁剪的例子,不过在做这个例子的时候还遇到了不少的问题,在此和大家分享一下.1.裁剪功能的实现过程这里的裁剪功能很简单,只需要一个Clip(裁剪)工具即可。但是这里需要注意的问题是裁剪工具的参数:裁剪工具有两个输入参数:a.输入要素:这里指的是你用什么来裁剪目标要素,也就是你用什么裁剪b.裁剪要素:这里指的被裁剪的要素,即目标要素,也就是说你要裁剪谁。例如,我现在有一幅中国地图,我想根据我输入的任意形状,裁剪出任意形状所包含的中国地图部分。如下图所示:中国地图作为底图(裁剪要素)输入多边形(输入要素),裁剪中国地图. 阅读全文
posted @ 2013-01-03 11:41 Mr|Right 阅读(4503) 评论(7) 推荐(2) 编辑
摘要: 首先来看看最终的效果图:本文将说一下实现该功能的思路和方法,鉴目前项目涉及到一些保密文件,在此不便贴出代码,不过在后续的工作中,我会抽时间来一一整理本博客的所有代码,并全部共享。下面就来看看具体实现的思路。1.河流的网格划分关于河流的网格划分,可以参考前一篇博文:http://www.cnblogs.com/potential/archive/2012/12/20/2826143.html该文给出了网格划分的思路,在此不再多说。2.河流的污染预测模型的选择。这里本文采取了二维的河流污染扩散模型,并以中心排放为例,其他模式也是一样。这里涉及到一个比较难的问题是:如何求出每一个网格点的(X,Y)坐 阅读全文
posted @ 2012-12-28 18:44 Mr|Right 阅读(3243) 评论(5) 推荐(2) 编辑
摘要: 先来看看最终的效果图吧!对于岛屿情况:相信很多人都做过关于河流的分析,而其中多少会涉及到河流的网格划分。二这也一直是一个难点,尤其是在Web端(本文只针对Silverlight)。而就目前查阅的资料来看,关于这方面的资料少之又少。大部分的网格划分要不就是理论,要不就是基于桌面的,而桌面的网格划分要比Web容易的多,此外,还有一种情况就是先在ArcMap中划分好,在Web端查询一定区域的网格划分点。Web端的河流网格划分有以下几个难点:(1).如何对河流进行网格划分得到网格点(网格划分点落在河流之内)(2).得到的网格点如何与Web地图结合,建立地理关系(3).针对不同的河流复杂程度(例如:河流 阅读全文
posted @ 2012-12-20 13:56 Mr|Right 阅读(3596) 评论(2) 推荐(3) 编辑
摘要: 在前一篇的博文中说到了线与面交点的求解,其中使用的方法是利用GeometryService的Simplify+Intersect服务,通过获得线与面的交点,间接的通过交线的端点得到线与面的交点。过程如下所示:然而在上文中我们提到过一句,Geometry中的Intersect无法得到线与线的交点,尽管当我们使用Intersect求线与线相交时,可以返回相交的结果,但是无法获取交点,因为Intersect求线与线交点返回的是一个Extent为null的线要素,我们无法将其用点在地图上表达出来。那么这里我们该怎么做呢?这里我们用到了Geometry的另一个服务:TrimExtend(修剪扩展)具体示 阅读全文
posted @ 2012-12-18 09:25 Mr|Right 阅读(3256) 评论(0) 推荐(2) 编辑
摘要: 最近在做项目的时候遇到一个问题,大致情况如下:已知河流的面要素,需要根据用户输入的矩形以及设定的步长对河流进行网格划分,并得到网格与两边河岸的交点。查了查资料,发现原生的ArcGIS API for Silverlight并没有提供实现该功能的借口,但是GeometryService提供了一个类似的功能:Intersect.Intersect:其相交的情况有如下三种:这里需要注意的时最后一个:线与线相交,从几何的角度来说,最后得到的结果应该是一个点,然而在GeometryService中,最后得到的结果是PolyLine,即是线,而且该线的Extent属性为null,也就是说线段长度为0.因此 阅读全文
posted @ 2012-12-15 21:52 Mr|Right 阅读(4412) 评论(2) 推荐(0) 编辑
摘要: 很久没有写博客了,最近一直忙考试,只是被悲催的数学物理方程真的把我给伤着了.....忙完了考试,又开始了导师的项目,然而发现项目的很多东西,用原始的ArcGIS Api for Silverlight根本无法实现。于是开始接触强大的ArcObject。虽然之前接触过一些ArcGIS Engine,但还是觉得学的云里雾里的,现在都忘得差不多了,于是又一次的被AO给伤了。本文算是自己初学AO的一点总结吧,在此和大家分享,不对之处,恳请指教。一、Silverlight调用AO需要什么?安装ArcOjects for .net Framework需要借助WCF或者WebService在Web项目中添加 阅读全文
posted @ 2012-12-15 11:32 Mr|Right 阅读(2498) 评论(1) 推荐(1) 编辑
摘要: 服务区分析实现的主要功能是判断在一定时间内所能够到达的区域,例如,从某一点出发,我们想知道在30分钟之内能够达到的范围有多大,那么我们就可以借助服务区分析来实现。一下是本文最后实现的效果图:下面就来说一下具体的实现过程。 服务区分析算是在Web端实现网络分析的最后一个部分,之前已经讲解了关于网络数据集的制作,网络分析服务的发布,以及最近路径,最近设施点查询,今天来讲述最后一个部分,服务区分析。 如果您已经学完了最短路径以及最近设施点的分析,那么对于服务区分析,肯定也是小菜一碟了。这里也没有什么新内容,实现的过程依然和之前的路径分析以及设施点分析类似,不同的依然是参数不同,同时这里我们同样需要发 阅读全文
posted @ 2012-11-20 23:33 Mr|Right 阅读(4171) 评论(3) 推荐(4) 编辑
摘要: 写作本文的起因: 前两天偶然自己想了解一下Web端的三维GIS开发,但是发现实现的过程非常麻烦,ArcGIS API For Flex和ArcGIS API ForSilverlight中都没有提供3D的支持。随后在网上查了查资料,发现了这个例子:http://maps.esri.com/sldemos/terrainmap/default.html该示例实现了地图的3D效果,且基于Silverlight。于是便开始分析该实例的源码。下面的内容也算是自己在学习以上这个例子时的一点心得。在此和大家分享。开始前的几个问题:1.高程数据怎样获得?2.自己有了DEM高程数据,如何利用自己的DEM高程数 阅读全文
posted @ 2012-11-18 13:48 Mr|Right 阅读(3983) 评论(8) 推荐(4) 编辑
摘要: 在上一篇中说了如何实现最近路径分析,本篇将讨论如何实现最近设施点分析。最近设施点分析实际上和路径分析有些相识,实现的过程基本一致,不同的是参数的设置,选用的分析图层为最近设施点网络分析图层,一般形式为:http://<服务器名或ip地址>/ArcGIS/rest/services/<地图服务名称>/NAServer/<最近设施点分析图层名称>在ArcGIS Api for Silverlight中,最近设施点分析的参数名称为:RouteClosestFacilityParameters,同样它也继承自BaseRouteParameters。其主要的参数(属性 阅读全文
posted @ 2012-11-17 21:48 Mr|Right 阅读(6017) 评论(6) 推荐(6) 编辑
摘要: 首先贴上最终的效果图:a.路径查询2.最近设施点查询3.服务区分析说明:1.以上的示例使用的数据是随意在ArcMap中创建的数据,也就是之前博文新建的数据,这里的单位和比例尺并不是实际的单位和比例尺。所以和底图的显示不一致,这里的底图只是为了增加显示的效果。2.以上所以的实现基于之前的两篇关于网络分析的博文,在此推荐看一看。3.以上示例的具体细节将会分别为大家讲解,欢迎大家相互交流,批评指正。一.路径分析服务概述 路径分析服务可以为Silverlight WEBGIS提供最佳路径的选择功能,用户指定两个点便可以查询出两点之间的最佳路径,同时用户还可以考虑不同的因素来找到最佳的路径,例如设置障碍 阅读全文
posted @ 2012-11-15 20:58 Mr|Right 阅读(7090) 评论(17) 推荐(5) 编辑
摘要: 在上一篇中讲述了如何构建网络分析数据集,本篇将讲解如何发布网络分析服务。本文将使用上一篇中建立的网络数据集,下载地址在上一篇博文的最后已给出。之前我们已经实现了基于ArcMap中的网络分析,但是仅仅支持本地是万万不够的,这里我们的目的就是将我们建好的网络分析图层发布,以供我们无论在在合适何地都能进行网络分析功能,需要说明的是,基于Web的网络分析目前还不支持OD成本矩阵分析,多路径配送,位置分配分析。这里目前只支持最短路径分析,最近设施点分析,和服务区分析。 发布网络分析服务的过程很简单。大致步骤如下:1.准备数据准备用于分析的网络数据集,这里我们在上一篇的博文中已经建好了,所以直接下一步。. 阅读全文
posted @ 2012-11-15 17:09 Mr|Right 阅读(15543) 评论(13) 推荐(2) 编辑
摘要: 说明:1. 本文主要用于演示网络分析服务的搭建过程。所以在此不会深入讨论网络分析服务的每一个细节,本文的目的就是让初学者学会使用网络分析服务进行基本的分析(主要针对后续的WEB开发):路径分析,最近设施点分析,以及服务区分析。2.关于OD成本矩阵分析,多路径配送,位置分配分析不会在本文中讨论(注:REST GIS服务不支持OD成本矩阵分析,多路径配送,位置分配,只能在ArcMap中进行分析)。3.本文部分内容参考了ArcGIS帮助文档,想详细了解GIS网络分析可查阅官方帮助文档,并在此强烈推荐。4.为简化分析过程,本文使用的数据为作者零时制作,所以实际的表现效果会没有真实的数据美观,但是对于网 阅读全文
posted @ 2012-11-13 23:37 Mr|Right 阅读(47904) 评论(30) 推荐(11) 编辑
摘要: 之前发布了一个绘制等值面的服务,在本机测试的时候始终都可以访问,没有任何的问题,但是在远程访问时,出现了无法获得GP服务结果(注:结果为图片)的问题,而在服务器端确实生成了正确的结果。困扰了很久之后,终于找到了解决的办法。 一般在默认情况下,ArcGIS Server的GIS服务输出文件夹用的是计算机名,可以按照如下方式查看:打开ArcCatalog选择GIS服务器,右键自己创建的GIS服务器,比如上图的qzj-pc.然后选择服务器属性,出现如下视图:默认情况下,虚拟目录采用的是计算机名。而上述说的问题就在这个地方。当我们远程访问GP服务时,如果结果是图片的话,通过Fiddler我们会发现,. 阅读全文
posted @ 2012-11-10 23:24 Mr|Right 阅读(2261) 评论(0) 推荐(1) 编辑
摘要: 出于安全性考虑,Web端调用第三方动态链接库则没有本地调用动态链接库那么方便,关于本地调用第三方动态链接库,可以参考之前的一篇博文:http://www.cnblogs.com/potential/archive/2012/11/05/2755899.html本文主要将如何在Web端调用第三方动态链接库。前言:之前在做毕业设计的时候用的是Silverlight,曾经用Fortran写了一个大气污染物扩散模型的计算代码,但是在用Silverlight之前都是本地调用,开始的时候也是按照本地调用,发现不行。经查阅,可以通过WebService,或者WCF等方式来实现。现总结如下:第一步:首先新建. 阅读全文
posted @ 2012-11-09 11:40 Mr|Right 阅读(3591) 评论(1) 推荐(2) 编辑
摘要: 前言C#发展到现在,已是一门相当完善的语言,他基于C语言风格,演化于C++。并依靠强大的.NET底层框架。C#可以用来快速构建桌面及Web应用。然而在我们的实际工作中,尽管C#已经非常完善,但还是不能完成我们所有的工作。在很多工程计算中,C#语言的计算速度,精度,以及执行效率相对来说都达不到项目的要求。因此我们便考虑是否有一种方式将我们的工程计算部分和我们的项目分开,将计算部分用另一种执行更快,精度更高的语言来编写,然后在C#中调用,最后完成我们的工作。答案是肯定的。Fortran是一门古老的语言,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其 阅读全文
posted @ 2012-11-05 20:45 Mr|Right 阅读(14918) 评论(10) 推荐(1) 编辑