11 2009 档案
摘要:这个功能,我花了好几天的时间才实现,主要是在拉框的时候,我可以实现,但是,我想在松开鼠标的时候,进行自己的业务处理,但是,怎么也不能响应鼠标的mouseup事件,也看了不少的例子,都是只有拉框,在移动事件里面可以实现功能,但是,鼠标的抬起事件不能响应。有的,可以相应事件,但是要鼠标在多点一下,后来就找了好多的资料,了解了事件的处理,才把这个问题搞定。
现在把代码重新整理了一下,希望对大家能有所帮助。
阅读全文
摘要:最近一些时间都有在学习地图方面的知识,用的ArcIMS9.2发布地图,读它的html版的源码,都是用的脚本写的,设计的架构还是不错,只是感觉里面有很多重复的东西,而且感觉功能什么的都不是很强大,看了几天后,差不多把它的工作原理搞清楚了,就想自已按照自已的思路动手自已做一个,其中请求地图的一块用ajax做,所以这些时间里对ajax稍微研究了下。
阅读全文
摘要:数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗?
阅读全文
摘要:onactivate 当对象设置为活动元素时触发。
onafterprint 对象所关联的文档打印或打印预览后立即在对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即触发。
阅读全文
摘要:在使用ArcGis Server9.3 + VS.Net 2008开发实时性、动态性要求比较高的B/S系统时,经常需要在map控件中使用动态的自定义图片,但是ArcGis Server 9.3本身是不支持动态图片的显示。如果要使用自定义的动态图片,就需要自已在map控件上创建用于图片的层的显示。这种方式虽然能使系统支持在map控件上显示动态图片,但是在位置的更新时存在层与map控件刷新不同步的问题。网上的解决方案都是在页面中使用JavaScript方法去循环检测层与map控件的位置是否保持一致,这种方案虽然能够在某种程度上解决层与map控件位置刷新不同步的问题,但是在map控件中的操作比较频繁时,页面中的层有明显的跳动且有延迟,显示效果很不尽人意,如果将循环的间隔时间设的很短,又会加重服务器的负担。
阅读全文
摘要:通过服务可以在客户端之间更容易的共享资源。通过服务可以保证所有的客户端访问到同样的资源,而不用在他们的机器上单独进行安装。服务器存储着资源,管理服务,进行GIS相关工作,将结果通过图片或者文字的形式返回给客户端。
要使用服务,并不需要安装单独的GIS软件,用普通的Web浏览器或者自定义的应用程序即可。但ArcGIS的应用程序,比如ArcMap和ArcGlobe同样可以作为GIS服务的客户端。
阅读全文
摘要:Server发布地图都是基于Mxd去发布的,这点与IMS使用axl文件差不多。一般来说,发布后mxd尽可能不要修改,或者在通过使用arcMap进行编辑后在重新发布。
修改mxd会导致地图服务发生变化,因此,相对来说是一种危险的操作。但有时客户需要对Mxd进行修改,自定义的添加修改图层,并重新发布服务。
当然,这些苛刻的需求server同样可以应付,但懒羊羊还是不建议这样做。方法总是有的,越危险的事也就越有趣。懒羊羊还是跟大家分享一下这方面的心得吧。
阅读全文
摘要:Arcgis server9.3中坐标转换方法及动态添加层
阅读全文
摘要:近期Coolite控件的技术点总结
阅读全文
摘要:JavaScript中的异常可以用try..catch..finally语句来处理,也可以手动的来抛出异常。
1.使用try..catch..finally语句来处理异常
js代码在执行过程中如果出现异常,会手动创建一个异常类对象,该异常类对象将被提交给浏览器,这个过程称为“抛出异常”。当浏览器接收到一场对象时,会寻找能处理这一异常的代码并把当前异常对象提交给其处理,这一过程被称为“捕获异常”。try..catch..finally语句的基本语法格式为:
阅读全文
摘要:Javascript中的对象。JavaScript可以说是一个基于对象的编程语言,为什么说是基于对象而不是面向对象,因为JavaScript自身只实现了封装,而没有实现继承和多态。既然他是基于对象的,那么我们就来说说js中的对象。
阅读全文
摘要:线程间操作无效: 从不是创建控件“”的线程访问它。
听说2003里边不会,我不知道是不是这样的,反正一直都在用05~
05里会出这个问题的,貌似是为了安全~
哦,现在知道的解决方法有两个~
阅读全文
摘要:一,在.Net 2005中使用拖管C++调用非拖管的动态链接库
现在编写动态库的时候就没法使用头文件来调用了,而且在要导出的方法前加入extern "C"来说明一下,extern "c"是用c语言的一些连接规则,可以防止c++编译器对被连接的函数进行名字粉碎。也可以叫做是函数方法的入口,头文件就可以不要了;
阅读全文
摘要:此文比较详细的讲述了.NET中的线程,很好的学习资料,新手值得学习。
阅读全文
摘要:大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。
DllImport所在的名字空间 using System.Runtime.InteropServices;
MSDN中对DllImportAttribute的解释是这样的:可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 DLL 的名称。
阅读全文
摘要:今天在做会员管理系统搜索时,我发现以前的搜索时间方式不太科学,效率也不是太高.由其是在查询指定的时间相等的时候,我在数据库中都存这样的时间格式"2007-5-22 14:32:12"当我们在查询2007-5-22是否与它相等,结果是不相等的.
所我们都喜欢找其它途径来解决这个问题。但是我发现我们的方法都不是太好,因为我们有的时候对sql sever
的语句特性还了解的不够彻底。所以我查询了查sql server有帮助,终于发现个好东西,可以解决这个问题.
阅读全文
摘要:///
/// 计算两个日期的时间间隔
///
/// 第一个日期和时间
/// 第二个日期和时间
///
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
阅读全文
摘要:在javascript中得到当前窗口的高和宽
var s = "";
s += "\r\n网页可见区域宽:"+ document.body.clientWidth;
s += "\r\n网页可见区域高:"+ document.body.clientHeight;
阅读全文
摘要:我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random。
对于随机数,大家都知道,计算机不 可能产生完全随机的数字,所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数被称 作伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。伪随机数的选 择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择就显得非常重要。如果随机种子一样,那么同一个随机数发生器产生 的随机数也会一样。一般地,我们使用同系统时间有关的参数作为随机种子,这也是.net Framework中的随机数发生器默认采用的方法。
阅读全文
摘要:Donet基础类库的System.Threading命名空间提供了大量的类和接口支持多线程。这个命名空间有很多的类,下面是Thread的资料。
System.Threading.Thread类是用来创建并控制线程,设置其优先级并获取其状态最为常用的类。他有很多的方法,在这里我们将就比较常用和重要的方法做一下介绍:
Thread.Start():启动线程的执行;
阅读全文
摘要:1、静态数据成员
在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。先举一个静态数据成员的例子。
//Example 5#include class Myclass{public: Myclass(int a,int b,int c); void GetSum();private: int a,b,c; static int Sum;//声明静态数据成员};int Myclass::Sum=0;//定义并初始化静态数据成员Myclass::Myclass(int a,int b,int c){ this-a=a; this-b=b; this-c=c; Sum+=a+b+c;}void Myclass::GetSum(){ cout"Sum="Sumendl;}void main(){ Myclass M(1,2,3); M.GetSum(); Myclass N(4,5,6); N.GetSum(); M.GetSum();}
可以看出,静态数据成员有以下特点:
阅读全文
摘要:HTML浏览器是一个由ESRI的ArcIMS软件自动安装的,用于限定图形外观和IMS的WEB站点函数功能的工具。HTML包含了大量的JavaScript和一些DHTML页面,这个浏览器提供了一个地图的框架、工具栏、图例、预览地图和其他站点的图形元素。WEB站点的开发者可以使用HTML、JavaScript和DHTML来增加站点页面的弹性和可交互性。
阅读全文
摘要:服务器端:
1。服务器端安装IIS(非Internet方式可不用)
2。安装VSS2005的服务器端(当然如果本地测试,客户端也同时装好了)
3。选择microsoft visual sourcesafe administration->open sourcesafe database->Create a new database->c:\vss2005(新建目录)->vss2005(默认)->local-modify-unlock-model->ok->open
阅读全文
摘要:public struct test
{
public string name;
public string num;
}
public struct test1
{
public test st;
public string name;
}
阅读全文
摘要:在WebGIS项目中,我们可能经常碰到一些需要在地图上进行动态绘制一些轨迹路线,如GPS轨迹,公交线路路线,流量走向等。而VML是最简单的实现方式,VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。
阅读全文
摘要:ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
阅读全文
摘要:点击开始菜单中的ArcGIS下的ArcGIS Server Manager,
出现如下界面。输入服务器的用户名和密码;【User name】文本框的格式为[计算机名]\[用户名],这里的[用户名]必须是加入到了agsadmin用户组和agsusers用户组的用户。
阅读全文
摘要:双击ArcGis系统安装盘中的ESRI.exe文件,出现如下安装界面
选择“ArcGIS Server for the Microsoft.NET Framework”
点击【next】
选择【I accept the license agreement】,然后点击【next】
默认选项,直接【next】
阅读全文
摘要:目的:
1.ArcGIS.Server.9.2.DotNet实现类似GoogleMap的操作工具条。
准备工作:
1.用ArcGis Server Manager或者ArcCatalog发布一个叫usa的Map Service,并且把这个Service启动起来。
完成后的效果图:
阅读全文
摘要:目的:
1.ArcGIS.Server.9.2.DotNet的ADF的Toolbar工作过程原理。
开始:
Toolbar工作过程:
一.初始化过程(在页面生成的时候Toolbar控件会生成和它相关的html代码和javascript代码):
1.根据每一个子Tool生成一个...,并且这个TD元素添加onMouseDown、onMouseOver、onMouseOut三个鼠标事件,这样使得TD可以点击执行不同的功能。
2.在javascript中初始化Toolbar1_Items数组,用ToolbarItemObject初始化每一个子Tool添加到Toolbar1_Items数组中。
阅读全文
摘要:一:GPRS简介
GPRS是通用分组无线业务(General Packet Radio Service)的简称,它突破了GSM网只能提供电路交换的思维方式,只通过增加相应的功能实体和对现有的基站系统进行部分改造来实现分组交换,这种改造的投入相对来说并不大,但得到的用户数据速率却相当可观。GPRS(General Packet Radio Service)是一种以全球手机系统(GSM)为基础的数据传输技术,可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。
阅读全文
摘要:一.开发环境的搭建:
1. eMbedded Visual C++ 4.0 (序列号:TRT7H-KD36T-FRH8D-6QH8P-VFJHQ)
2. eMbedded Visual C++ 4.0 SP4
3. SDK for Windows Mobile 2003-based PPC2003SE
4. Localized Emulation Images for Windows Mobile? 2003-based PPC2003SE
按照1-4安装,没有什么要设置的,安装还算比较简单
阅读全文
摘要:MapGuide的安装包括:安装MapGuide Server;安装MapGuide WebServer Extensions、安装示例数据、安装示例程序、安装DwfViewer、安装mapguide studio这几项。
以下所介绍的安装都基于Windows平台和IIS网络服务,并使用.Net开发技术。
下载地址:https://mapguide.osgeo.org
阅读全文
摘要:模拟 IIS 验证的帐户或用户
若要在收到 ASP.NET 应用程序中每个页的每个请求时模拟 Microsoft Internet 信息服务 (IIS) 身份验证用户,必须在此应用程序的 Web.config 文件中包含 标记,并将 impersonate 属性设置为 true。例如:
阅读全文
摘要:如何构建自己的WebGIS系统呢?是花大把大把的钞票去买别人的,还是自己动手做?我想这要根据你的实际情况来考虑了。如果你财大气粗,愿意花钱,那我也没办法。可是如果你想我一样,没钱,却对GIS一往情深,那就做你的开源WebGIS系统吧。
阅读全文
摘要:在.Net Framework中提供了代码访问安全性(Code Access Security),它的主要作用就是限制代码的使用权限。可以控制各种系统资源的访问权限、可以要求代码的调用方拥有特定的权限......。比如我们可以控制自己的dll只能在什么条件下由什么人调用,特别是在Asp.net中可以限制不同代码的安全权限,从源头限制住网络上的攻击等。
阅读全文
摘要:Event
Sys.Application.init : 脚本加载完毕,对象创建之前。
Sys.Application.load 脚本加载,对象被创建和初始化. pageLoad()
Sys.Application.unload 发生在window.unload时 pageUnload()
init 事件 基于浏览器window.onload事件 ,只在页面第一次初始化时候触发,用于为组件建立相互引用关系
Application对象的load和unload事件,不需要我们显式地绑定到把一个事件处理器函数绑定到这些事件上,而是直接使用保留关键字pageLoad和pageUnload创建相应的函数即可
阅读全文
摘要:要做网络分析,首先你的arcgis server需要具有network analysis 扩展模块的license。其次需要网络数据集,这个问题好解决,直接使用安装目录下的ArcGIS"DeveloperKit"SamplesNET"Server"data"SanFrancisco下的网络数据集将其发布,发布时记得勾上NetWork Anaysis 这项。
然后新建一个网站,加上常用的map,mapresourcemanager,toolbar,toc 控件等,在mapresourcemanager中加入两个资源,一个是graphicslayer类型,命名为 pathLayer,一个为ArcGIS Server Local类型,命名为SanFrancisco,并加上两个textbox和一个按钮,布置好后如图1。
阅读全文
摘要:1设置数据层比例尺
1.1设置数据层绝对显示比例尺
根据数据层对应的数据文件的坐标系统与坐标单位,设置绝对的最大与最小显示比例。在打开地
图文档SoutheastAsia.mxd的视窗内容表中显示:
阅读全文
摘要:地图上的比例尺,表示图上距离比实际距离缩小的程度,因此也叫缩尺。
用公式表示为:比例尺=图上距离/实际距离。比例尺通常有三种表示方法。
(1)数字式,用数字的比例式或分数式表示比例尺的大小。例如地图上1厘米代表实地距离500千米,可写成:1∶50 000 000或写成:五千万分之一。
(2)线段式,在地图上画一条线段,并注明地图上1厘米所代表的实际距离。
(3)文字式,在地图上用文字直接写出地图上1厘米代表实地距离多少千米,如图上1厘米相当于地面距离10千米。
阅读全文
摘要:1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();
provider.NumberDecimalDigits =intDecLength; //要设定的小数位数
double strCashAmt=Convert.ToDouble(this.txtCashAmt.Text); //先把控件內的值转成double
this.txtCashAmt.Text = strCashAmt.ToString("N",provider); //再利用ToString函数格式化小数位数
阅读全文
摘要:序号 中文说明 标记语法 备注
1 背景颜色 {background-color:数值}
2 背景图片 {background-image: url(URL)|none}
3 背景重复 {background-repeat:inherit|no-repeat|repeat|repeat-x|repeat-y}
4 背景固定 {background-attachment:fixed|scroll}
阅读全文