Posted: April 13th, 2010 | Author: laomi | Filed under: 开发日志 | Tags: arcgis, rest | 1 Comment »
以前自己做arcgis server的开发一般都是基于jsf框架做的,最近美国同事那边开始做基于rest的开发方式,自己以前在java的条件下做了几个demo,感觉还不错,开发起来比jsf感觉要爽很多,不需要一大堆jsf之类的东西。
开始自己想实现简单的功能就是在地图加载的时候自己直接添加上一些点,自己做一个test程序,程序的代码如下:
dojo.require(“esri.map”);
var map;
function init() {
var startExtent = new esri.geometry.Extent(-117.29, 34, -117.14, 34.10, new esri.SpatialReference({ wkid: 4326 }) );
map = new esri.Map(“map”,{ extent: startExtent });
var tiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer(“http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer”);
map.addLayer(tiledMapServiceLayer);
addPointToMap();
}
function addPointToMap(){
//alert(map.graphics)
var markerSymbol = new esri.symbol.SimpleMarkerSymbol();
markerSymbol.setStyle(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE);
markerSymbol.setSize(12);
markerSymbol.setColor(new dojo.Color([255,0,0,0.5]));
pointESRI = new esri.geometry.Point(-117.233,34.057, map.spatialReference);
// alert(“pointESRI “+pointESRI);
pointGraphic = new esri.Graphic(pointESRI, markerSymbol);
// alert(“pointGraphic “+pointGraphic);
map.graphics.add(pointGraphic);
}
dojo.addOnLoad(init);
就这样的一段代码自己怎么弄就是现实map.graphics的对象始终为null,一开始就不明白,然后我就在想试试因为map.graphics这个对象在map的onload的时候还没有初始化完的呢?照着这个想法自己写了一个button,然后在onclick事件中直接添加了addPointToMap函数,结果work了,看来自己的想法八九不离十了,然后自己就回到rest 的javascript api中查了一下最后看到了一段原文的描述:
Since the Map.graphics object is only available to use after the Map.onLoad event is fired, you should wait to register event listeners until the the Map.onLoad event is fired.
看完之后我明白是怎么回事了,但是我不知道怎么样才能解决这个问题,之前自己也没有怎么写过javascript程序,然后自己又在api中查到了dojo.connect方法,这个方法就可以监听事件。然后在看了一下api中的sample,之后只是在上述的init中添加一句dojo.connect(map, “onLoad”, addPointToMap);然后就搞定了。 Read the rest of this entry »
Posted: March 6th, 2010 | Author: laomi | Filed under: 开发日志 | Tags: arcgis, 空间数据挖掘, gis | No Comments »
最近在这边实习的主要工作是做数据挖掘的工作,自己以前在实验室也做了一些类似的工作,但是以前的工作相对来说比较简单。目前自己主要做的事情首先就是利用spatial analyze部分分析数据,看看目前自己所用所的数据特征,然后再决定做什么。
关于arcgis spatial analyze的部分主要包括以下几个:在这里面有不少你常常用来做数据分析的工具,例如点密度分析,均值和方差分析,栅格图的差值以及表面分析等。最近我收到有一些数据要做一些空间的处理,如果有过的东西自己来写程序也不是很难,但是已经有了现成的工具干嘛不用,况且只是用这些工具来分析一下这些数据适合做些什么处理。在做这些数据处理的工作中,自己主要是用到了空间分析中的点密度分析,对于计算出来的栅格数据对他们进行均值和方差的计算,后来主要是用了spatial statistic中的一些工具来判断自己的数据是不适合做聚类分析等,其实在spatial statistics中有很多关于计算聚类的工具比如:analyzing pattern中的一些工具,不知道熟悉arcgis arcmap工具的朋友们知道不,在arcgis arctool box中有很多的工具是可以看到他们的python代码,其实这些也是学习用arcgis 来做开发的一些很好的资料。这次自己也用vba开发了一些arcgis的程序的运用,主要用来将最后的计算结果以更好、更形象的方式展现出来。
自己以前对于arcgis还是挺排斥的,我想主要原因有:第一在刚刚接触gi产品的时候,自己第一个接触的产品时mapinfo,而且mapinfo在界面设计方面确实是做的非常的人性化,自己从一用上它就喜欢它了;第二的主要原因是arcgis功能很强大,很多的功能需要经过专业的培训才能很好的掌握,但是自己在平常的项目中,用到得GIS得功能相当的简单,用maoinfo基本上就能解决了,所以自己也不是很想去接触arcgis,毕竟平常没有那么多的时间去接触他。但是来这边实习之后,自己慢慢的发现arcgis的强大之处,它的强大确实是超出了我的想象范围,现在自己确实认为他是一个很不错的GIS工具,但是想很好的掌握这个工具还得花些时间去弄清arcobject,现在自己只是接触了arcobject中很少,比较简单的部分。 Read the rest of this entry »
Posted: October 31st, 2009 | Author: laomi | Filed under: 开发日志 | Tags: 地名引擎 | No Comments »
目前这个关于地名的搜索引擎叫做地名引擎,按照字面的意思就是按照地名来进行检索,其实这个在其他的网站上也可以看到相关的应用。我们所做的地名引擎的开始目前是为了管理我们实验室的数据,最后发展成为一个以地名为核心的知识系统。
截止昨天为止,我们的地名引擎可以看到的数据有地名的位置、相关的描述以及关于这个地方的相关的应急预案和应急案例信息,目前的功能相对来说比较简单,主要还是直接采用关键字做匹配的。我们实验室关于地名的本体也快发布出来了,今后的地名引擎的主要功能为会围绕着它来做。在接下来的功能中我们将会加入我们现有的一些数据信息来增加关于地名的相关知识,在昨天的讨论中,大家都觉得应该将个性话的部分加进去,所以到时候我还得花点时间来研究一下关于个性化的部分,按照目前关于个性化的数据的收集主要分为两个部分:一个是显式的去收集用户的喜好数据,比如让用户填写自己的兴趣、爱好和自己所从事专业方向,或者是在搜索结果中让搜索引擎去和用户交互;另外一种方式是隐式的去收集用户的数据,一般来说这种方法就是看用户点击了或者是没有点击哪条数据,然后分析用户所感兴趣的文档进行分析用户可能会对那些关键字感兴趣。个性化搜索加进去之后,还可以给用户做一些简单的推荐。 Read the rest of this entry »
Posted: October 24th, 2009 | Author: laomi | Filed under: 开发日志 | Tags: 基于内容推荐, 地名引擎, gis | No Comments »
地名引擎的最后的功能还没有完全确定下来,目前确定显示的数据有:应急预案、应急案例、地名的相关介绍性数据和地图数据等。上两个星期自己主要是将程序的主要框架写完了,至于程序框架的合理性问题,目前只能是说按照目前的需求来写,并在此基础之上自己把有可能出现的问题先考虑进去。
其实我们在考虑做地名引擎之前,也看过不少的地名引擎相关的资料,其中也包括Google Maps,Baidu map,mapbar,mapabc和Sogou相关的地图搜索。他们的搜索都做的非常的强大,而且是和人们的生活是密切相关的。我们要做的地名引擎的主要目的是从知识的角度来思考,这个也是我们的地名引擎与现在的GIS搜索主要区别的地方,我们的最终结果是将与地名相关的知识展现出来。目前我们有的数据有地名数据(包括经纬度坐标和相关的介绍数据)、突发事件数据、湖泊数据、人口数据和气象数据等。我们地名引擎做的就是要以地名为主要搜索关键字,将与他相关的信息有组织的形式展现出来。
然而目前界面设计确实是一种很恶心的事情,我们实验室就缺乏这样的一个人,我做的界面大家都看的有点想吐了,颜色搭配太不协调了。不过我一直想想做一个类似于iGoogle那样的界面,而且用户可以根据自己对于信息喜好来管理需要显示的信息。如果用户在查看数据的过程中发现我们的数据有误,用户还能够对出错的数据进行修改,经过审核之后就可以将正确的数据展现出来。 Read the rest of this entry »
Posted: October 17th, 2009 | Author: laomi | Filed under: 开发日志 | Tags: 信息检索, 地名引擎 | No Comments »
自己这一年多来一直忙着实验室的那点项目,说句实话现在做的东西真的是很难投入使用,目前自己的总结原因有:开发氛围不好,简单的来说很多人都没有把这项目当回事(估计老板也差不多),所以从项目管理上很难入手;业务分析不够透彻,做软件产品的话,就必须得好好的分析一下实际情况,我们基本上是凭空想象。最近老板又让我做地名引擎,说句实话,我的兴致很高,就怕哪一天他对这个不感兴趣,我又是瞎折腾了。
目前总体上可以这么说,地图数据我们已经有了,至于这个地名引擎不在于地图本身,其主要是基于地名数据基础之上的。自己大概花了两天的时候好好的将自己要做的东西勾勒了一下,然后将自己第一期要完成的目标也确定了一下,最后定了一下关于地名引擎的技术基础。我们实验室是做应急方向的,所以我们做的地名引擎其主要的还是围绕着应急。关于这个系统我前面的工作主要是将把他当做一个系统来完成,解决问题的方法也主要是从工程的角度来思考(说句实话,在实验室做研究我实在是不怎么感兴趣,因为……)。第一期的主要目的就是将实验室目前的数据以地名为中心展现出来,其主要的开发的环境 Read the rest of this entry »
Recent Comments