摘要: 版本:ArcGIS 10参考:http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Implementing_cloning/0001000002tw000000/ArcGIS支持IClone接口的对象,可以通过Clone()方法复制对象,其过程比创建新变量要复杂。一下展现创建两个指向同一个对象的变量:[C#]IPoint pointOne = new PointClass();IPoint pointTwo = pointOne;以下展现通过IClone接口复制对象:[C#]IClone cl 阅读全文
posted @ 2011-09-24 17:02 xmwang 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 版本:ArcGIS 10事件是由对象发送的标示某项行为发生的信号。事件可以由人机交互操作驱动,比如鼠标点击,也可以由其他程序逻辑驱动。触发事件的对象为事件发送器,捕获事件并相应事件的对象称为事件接收器。.NET Framework定义了委托类型提供了类似函数指针的功能,委托为事件发送器和接收器建立连接。定义委托委托包含的方法必须符合其签名。[C#]delegate int SomeDelegate(string s, bool b); //委托声明.侦听ArcObjects事件步骤:1、创建事件相关接口[C#]IGlobeDisplayEvents_Event globeDisplayEven 阅读全文
posted @ 2011-09-23 19:05 xmwang 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 版本:ArcGIS 10 在C#中,相对直接转换,最好通过as操作符进行接口类型转换。通过as操作符进行类型转换失败时,会返回null值,而不是抛出异常。下面的代码演示了两种不同转换的形式:[C#]IGeometry geometry = (IGeometry)point; // 直接转换IGeometry geometry = point as IGeometry; // As操作符转换下面代码演示如何应对类型转换造成的空值:[C#]IPoint point = new PointClass();IGeometry geometry = point as IGeometry;if (geom 阅读全文
posted @ 2011-09-23 16:49 xmwang 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 版本:ArcGIS 10 单例对象就是只能有一个实例的对象。在ArcObjects中,单例对象只能通过Activator类实例化,并通过ComReleaser类释放。另外要注意的是,同一个线程中的ArcObjects引用只能访问同一个线程中的对象。通过Activator类创建单例对象:[C#]Type t = Type.GetTypeFromProgID("esriFramework.StyleGallery");System.Object obj = Activator.CreateInstance(t);IStyleGallery sg = obj as IStyleG 阅读全文
posted @ 2011-09-23 16:48 xmwang 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 版本:VS2008 C#作者:xmwang方法一:三角函数分解计算提升精度C#中Math.Sin进行三角函数计算,输入参数必须为double型,double型的有效位数相对decimal的28位要小很多,笔者认为可以将decimal类型分解为多个double类型进行三角函数计算,比如:Sin(decimalData)=Sin(doubleData1 + doubleData2)= Sin(doubleData1)Cos(doubleData2)+Cos(doubleData1)Sin(doubleData2),0.0000025423423432541231579844M分解为0.000002 阅读全文
posted @ 2011-09-20 13:44 xmwang 阅读(2894) 评论(0) 推荐(1) 编辑
摘要: 版本:ArcMap9.3 .NET 2.0作者:xmwang软件下载:http://dl.dbank.com/c0ptsnmnhm控件安装与卸载:1、打开CMD命令行2、进入.NET目录cd C:\Windows\Microsoft.NET\Framework\v2.0.507273、用命令regasm注册控件regasm e:\SetNewID.dll /codebase4、卸载:regasm e:\SetNewID.dll /unregister控件使用:1、添加工具栏“规划辅助工具(自动ID)”2、添加图层,选择需要自动设置ID的图层,并设置起始值(eg:10000),如果要素类没有NE 阅读全文
posted @ 2011-09-20 10:52 xmwang 阅读(3673) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-09-20 09:23 xmwang 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 官方步骤:http://help.arcgis.com/zh-cn/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/na/009300001570000000/版本:ArcGIS 10作者:xmwang步骤官方已给出详细介绍,但还是有些注意事项容易忽略:1、设置SOC对数据源的读写权限。a.右击数据库服务器选择“权限”,添加SOC用户b.右击数据源(数据库或则要素集),选择管理->权限,赋予SOC用户读写权限2、采用版本化编辑需要注册版本,右击要素集,选择“注册版本”3、将地图文档所在的文件夹设置为网络共享,以便网 阅读全文
posted @ 2011-09-19 23:01 xmwang 阅读(388) 评论(0) 推荐(0) 编辑
摘要: MapResourceManager描述:最重要的控件,为应用程序添加、删除地图资源,一般构建网络应用程序时,首先实现该控件。使用:打开属性表的ResourcesItems项的集合编辑器,添加一个资源单击Definition后的省略号按钮,打开编辑器,填写资源属性(资源类型、服务器、资源名称),要访问ArcGIS Server本地资源,还需要根据提示添加ArcGIS认证,添加认证后web.config会添加代码:<identity configProtectionProvider="DataProtectionConfigurationProvider">< 阅读全文
posted @ 2011-09-19 22:31 xmwang 阅读(818) 评论(0) 推荐(0) 编辑
摘要: 版本:ArcGIS 10.0 当应用程序用到本地资源时(ArcGIS server local data sources)需要创建ArcGIS identity ,其他资源不需要创建,例如:ArcIMS和ArcGIS Server 网络资源(ArcGIS Server Internet data sources)。ArcGIS identity 账户的要求1、账户必须是Web应用程序所在主机上的合法账户2、账户必须在ArcGIS Server SOM所在主机的agsuser和agsusers用户组内3、如果Web应用程序和ArcGIS Server SOM不在一个主机上。当所有主机同在一个域, 阅读全文
posted @ 2011-09-19 22:15 xmwang 阅读(2369) 评论(0) 推荐(0) 编辑