最近摸索arcgis的一点心得,希望对初来着有些帮助

最近突然想写点东西,记录一下对软件开发上的一些学习心得(其实一直以来都想写点东西,慰藉自己在这些年踩过的坑留点)。

主要写三个大方面:

1、  arcgis

记录arcgis for js的开发,涉及:环境部署、arcgis js 图层控制,服务图层查询,动态图层数据查询,标准显示,自定义的infowindow,arcgis 模型, GP服务调用。

2、  .NET。

反射,lamda ,redis,MVC,unity,sokcet 以及几个我常用的设计模式。

3、数据库

触发器、存储过程的编写,以及SQL调优的方式方法。

除此以外还会把系统开发中用到的js框架(bootstrap,easyui),arcgis开发中使用到的python都会记录。

今天主要写arcgis的部署与动态图层的查询与显示。

对于那些不熟悉arcgis而言的而言就是安装与破解都能让你头痛三天,所以我还是把我部署先说说。

Arcgis的安装与破解就不说了,百度很多。

我以10.2为例。安装完成desktop和server以后,需要部署一下dojo包。

这是我解压以后的目录:

我们需要更改两个文件的配置,

第一个文件:

搜索:<myserver>,然后把他替换成可以从浏览器访问的路径,比如我的计算机为:win10,IIS发布如图:

,替换后:

第二个文件:

搜索:<myserver>,然后按照第一个文件的替换方式,替换

替换后,重启网站。

在浏览器中输入:http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer?f=jsapi ,出现:

查看源文件,你会发现:

刚刚说的是部署安装,百度上还是有不少,不足为道。

接下来介绍一个实用的功能:我们经常需要通过鼠标右键画一个范围,能将范围内的需要的信息查询出来。如图所示:

这个需要使用到draw-complete事件,该事件就是用于在鼠标点击右键画指定区域完成后触发的事件。在这个里面通过result获取当前获得绘图得到的面result.geometry;,然后找到需要与之进行相交的图层,这个图层可以是已经发布的动态图层,也可以是自己建立的graphic layer。通过result.geometry. contains方法遍历得到相对应的结果。以下是具体代码:

on(toolBar, "draw-complete", function (result) {

//获得绘图得到的面

var geometry = result.geometry;

MaskUtil.mask("开始空间查询分析,分析完成后请查看结果...");

//关闭绘图工具

toolBar.deactivate();

var graphicRainLayer = map.getLayer("graphicRainLayer");//是否有雨量数据

selectedGraphics = [];

var queryResultLayer = new esri.layers.GraphicsLayer({ id: "queryResultLayer" });

map.addLayer(queryResultLayer);

var graphics = graphicRainLayer.graphics;

for (var i = 0, total = graphics.length; i < total; i++) {

if (result.geometry.contains(graphics[i].geometry)) {

var template = new InfoTemplate();

template.setTitle("站点全景");

template.setContent(“查找到的站点”);

var points = new Graphic(graphics[i].geometry, createSymbol("#0ff"), graphics[i].attributes, template);

queryResultLayer.add(points);

}

}

});

如果希望查询到的点能够显示出来,则可以新建一个graphic layer,将获得到的几何对象添加进来显示即可。

截一些最近开发的一些系统截图。

面雨量分析(基于样条函数生产)

点击不同颜色的按钮,则会自动显示对应的面积(紫色为自定义选择的颜色)

自动分析不同降雨等级降雨涉及到的乡镇名称,以及影响的面积。

分析指定区域下存在的受影响的重点企业是那些?并显示如下图:

通过空间计算,查找到受影响的重点单位,点击上面的圆点,可以查看当前企业的360度实景图片。显示实景的弹出框为自定义的弹出框,是不是很实用。

在图片上移动鼠标就能像谷歌街景一样的360查看。

原文地址:https://www.cnblogs.com/aman11/p/8455338.html

时间: 2024-07-29 23:04:37

最近摸索arcgis的一点心得,希望对初来着有些帮助的相关文章

FMDB使用的一点心得:数据库创建、制表、查询等以及image转换成二进制nsdata保存到数据库中

<span style="font-size:18px;">//首先,获取数据库的路径,(如果不存在,就是我们想要存储的路径),不用担心每次都创建数据库会重复,不会的,如果没有则创建,有了就不会再重复创建: //接下来,我们要制表,首先我们先查看我们的表是否已经存在,方法在下面代码中:如果存在则跳过,不存在则创建</span> -(void)DataBaseInit { //获取Document文件夹下的数据库文件,没有则创建 NSString *dbPath

关于INDEX SERVER+ASP建立查询引擎的一点心得

说起INDEX SERVER,我自己本来用的也不多,不过前两天公司要做一个INDEX的搜索,我从网上找了好多的资料,仔细分析了以后自己启动了索引服务,并进行了ASP程序的设计,第一天程序运行正常,结果第二天早上,我上班的时间发现查询INDEX SERVER的ASP程序不能用了,提示是Server.CreateRecordSet("NonSequential")错误,随后IIS不能解析ASP文件,我自己进行了一天的反复尝试,包括我停止了索引服务,删除编录,重新安装IIS也不能恢复,最后我

关于通过PMP考试的一点心得

2019年6月份在朋友的介绍下,报名参加了51CTO学院关于PMP的学习;说实话,我从事的专业不是IT也不是项目之类的;我主要是在一家公司做现场管理;当时报名PMP并不是为了加薪或换工作等,主要目的是想通过PMP的学习把自己工作过程中积累的一些经验系统化,体系化;报名参加之后,发现PMP确实是我一直想学习或者说一直想寻找的一门学科;感到非常高兴,也感激介绍我学习朋友;由于我平时工作时间比较忙,也经常加班;所以学习时间上不是很充足,这次考试能够通过并且取得4A1T的 成绩出乎我的意料;主要功劳是5

开发微信支付的一点心得

由于使用了别人封装的微信公众平台SDK http://www.cnblogs.com/x3d/p/3740454.html  ,所以省去了完整理解开发手册的时间. 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布.必须到你通过程序测试提交订单.发货通知等数据到微信的系统中,才能申请发布. 然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到二级三级目录下去,这对于使用MVC框架来说,是个小问题. 使用MVC,在开发环境,url往往是native url格

关于div布局的一点心得

如果是嵌套的div布局,外面的div 比如是<div  class="container"></div>这时候设置的是一个大的外框架,居中显示.我们要在里面嵌套div来 显示内容,这时候就通过<div style="display:block;position:relative"></div>来使得div标签的位置是相对于外面最靠近它的父级标签也就是<div  class="container"

网页开发规则的一点心得

1.script文件放在body标签最后,script默认是 type="text/javascript",所以可以省略 2.css文件也要提取出来单独放在一个.css文件中用<link rel="stylesheet"  href="file address"  media="screen">引入文件中 3.建立scripts文件夹,用于放置脚本文件 4.建立css文件夹用于放置css文件 5.建立image文件

关于现场技术支持的一点心得

技术支持本质上是一种专业服务,礼貌的沟通交流是成功的第一步,解决用户问题的同时并让用户保持愉快的心情是终极的目标; 一点心得体会如下: 1.到现场后先观察询问用户是否方便,这一礼貌的举动边唱好的开场戏,尤其是针对不同部门的技术相关领导哈! 2.弄清楚问题的具体现象; 3.根据经验和日志信息进行初步分析判断,缩小问题范围; 4.分析客户系统的环境,ISO版本.日期.软件rpm包版本.相关配置文件是否更改过; 5.与客户交流,分析做过什么操作; 6.over

移动web动画设计的一点心得——css3实现跑步

[原]移动web动画设计的一点心得——css3实现跑步 今年3月份,由于公司业务需要,我转岗到微信产品部,离开了TID团队,人都是有感情的动物,更何况在一个团队呆了快 3 年,心中十分舍不得,鬼哥说了“天下没有不散的宴席...”,在我的世界里又多了一次离别的伤感(虽然还在隔壁工作).加入了微信产品中心后,开始新的团队生活,工作比以前忙多了,有时周六也要上班,需要更快更高效的完成任务,除了重构页面,需要主动参与边缘外的工作,承担更多.最近比较忙,给自己敲个响钟:注意身体. 说完题外话,开始近期的主

理解机器学习算法的一点心得

从Andrew ng的公开课开始,机器学习的算法我接触到的也越来越多,我觉得机器学习算法和传统算法的最大不同就是:不会要求一个问题被100%求解,也就意味着不会有完美的解法,这也是著名的"Essentially, all models are wrong, but some are useful."所表达的意思.正因为如此,机器学习算法往往不会有一个固定的算法流程,取而代之的把问题转化为最优化的问题,无论是ML(maximum likelihood),MAP(Maximum a Pos