摘要:
我们可以使用ITransform2D来进行旋转,主要是提示:Rotate方法传入的是弧度,而不是角度,可参照如下代码:Sub GetAnnotationAttributes() Dim n As Integer Dim rAngle As Integer Dim pDoc As IMxDocument Set pDoc = ThisDocument Dim pMap As IMap Set pMap = pDoc.FocusMap Dim pMxDoc As IMxDocument Dim pElement As IElement Set pMxDoc = ThisDocum... 阅读全文
摘要:
将地图导出为图片的两种方法09-03-30 20:36:31 http://blog.sina.com.cn/gaoxizhang 核心提示:在ArcGIS的开发中,我们经常需要将当前地图打印(或是转出)到图片文件中。在ArcGIS的开发中,我们经常需要将当前地图打印(或是转出)到图片文件中。将Map或Layout中的图象转出有两种方法,一种为通过IActiveView的OutPut函数,另外一种是通过IExport接口来实现。第一种方法导出速度较快,实现也比较方便,但该方法对于图片的行或列数超过10000左右时,导出经常会失败(具体原因未知),第二种方法导出速度较慢,但效果较好,且可以在导出 阅读全文
摘要:
之前在做shp数据导入Geodatabase中时,程序运行出现错误提示:“The spatial index grid size is invalid”。后来查阅esri帮助找到了原因。是LoadOnlyMode的问题。记下来,以后好好研究。http://support.esri.com/en/knowledgebase/techarticles/detail/35007 Error: The spatial index grid size is invalidArticle ID:35007Software:ArcGIS - ArcEditor9.3, 9.3.1, 10ArcGIS - A 阅读全文
摘要:
下例中是对mapControl中当前地图添加“name_city”字段,主要用到IField,IFieldEdit,ITable(IClass),IFeatureLayer,IFeatureClass,IFeature字段,其中IField,IFieldEdit是创建新的字段“name_city”,每个要素的“name_city”字段存储的都是“city_name”。注意:在调用AddField方法时,利用ITable或者IClass,而不能使用IFieldsEdit,参考AE的帮助文档:The IFieldsEdit interface is used when creating a fie 阅读全文
摘要:
有时我们需要读取图层中某个字段的所有值的唯一值集合,或做统计用途,或作为其他功能的输入。一般通过IDataStatistics接口来获取唯一值集合,代码如下:''' <summary>''' 通过IDataStatistic接口获取图层指定字段的唯一值''' </summary>''' <param name='pFeatureLayer'>目标图层</param>''' <param name=' 阅读全文
摘要:
// <summary> /// 添加图例 /// </summary> /// <param name="pageLayout"></param> public static void AddLegendToPagelayout(IPageLayout pageLayout) { if (pageLayout == null) { return; } IActiveView activeView = pageLayout as IActiveView; //定义图例UID对象 UID uid = new UIDClass() 阅读全文
摘要:
//将上传的mdb文件保存至sde数据库中 protected void btnSaveToSDE_Click(object sender, EventArgs e) { //获取服务器上下文 IServerContext serverContext = GetServerContext(); //打开mdb文件所在的工作空间 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wf = serverContext.CreateObject("esriDataSourcesGDB.AccessWorkspaceFactory") as IWo 阅读全文
摘要:
private void MakeLegend(IActiveView activeView,IPageLayout pageLayout){//定义图例UID对象UID uid = new UIDClass();uid.Value="esriCore.Legend";//设置图例存放的坐标位置//定义单位pageLayout.Page.Units = esriUnits.esriCentimeters;//得到草图容器对象IGraphicsContainer container = pageLayout as IGraphicsContainer;//得到当前地图的框架I 阅读全文
摘要:
1、IFeatureCursor 游标查询后,遍历删除2、更新游标删除IFeatureCursor.DeleteFeature()3、ITable.DeleteSearchedRows删除4、 IDataset.Workspace.ExecuteSQL一、几种删除方法代码1.查询结果中删除private void Delete1(IFeatureClass PFeatureclass) { IQueryFilter pQueryFilter = new QueryFilterClass(); pQueryFilter.WhereClause = "objectID<=" 阅读全文
摘要:
代码是在PageLayout里面设置的Border,Shadow,还有MapGrid,但愿对你有帮助,可以尝试参考using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Display;using ESRI.ArcGIS.Controls;usi 阅读全文
摘要:
ArcGISEngine许可初始化关于初始化Engine许可的,其实原理都很简单,大家一般都没有问题,但又往往会因为不够细心加上Engine的“小脾气”,让不少程序员都要在这里犯错。以Engine9.2为例,应用程序是强制初始化许可,也就是说必须使用LicenseControl或AO接口初始化许可,否则应用程序无法启动。Engine9.1未采取强制初始化许可策略,而是应用程序创建时就初始化标准Engine许可。在一般情况下,我们会用将LicenseControl拖放到主窗体上完成初始化。但当Engine程序需要使用ArcGIS Engine Enterprise Geodatabase(以下简 阅读全文
摘要:
在制作.net 打包安装程序的时候,如果选择【系统必备软件中的 .netFx3.5 sp1】,并且将 指定系统必备组件的安装位置指定为 【从与我的应用程序相同的位置下载必要组件】。 就会出先 【系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“Microsoft.Net.Framework.3.5.SP1”中的 xxxxx 】错误提示。该错误将会出现在安装了非英文版本的.netFx系统中,主要是缺少非英文的.netFx3.5 SP1的语言包(例如中文、德文。。。。)自己经过多方面的查找,找到了一些解决的办法,只希望初次制作打包安装程序的朋友能够解决时间(以下以中文环境为例说明 阅读全文
摘要:
今天给大家介绍一段代码,可以将程序中的FeatureLayer转到本地shapefile文件,方便数据输出使用。using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Geodatabase;//sFileName:shapefile保存的路径及名称//pFC:要输出FeatureLayer的FeatureClass属性publicstaticvoidOperateConvertToShape(stringsFileName,IFeatureClasspFC){try{stringstr = sFileName;stringstr2 = str.Subst 阅读全文
摘要:
说明:本类使用了上一篇文章中的打开sdeworkspace的类库。本类是实现了向SDE中写入栅格和矢量数据,在SDE for Sql2005+ae9.3上测试通过。使用时注意里面有一些向数据库中写入图层信息的内容源代码如下:/********************************************************************filename: WriteToSDE.cscreated: 2009/12/20purpose: 向空间数据库写入矢量或者栅格数据**************************************************** 阅读全文
摘要:
基于AE的个人地理数据库(mdb格式)导入到企业级数据库(sde数据库中,采用Oracle数据库)中(C#).个人地理数据库有数据集,导入到企业级数据库后没有数据集,只有要素类。private void btnPGD2EGD_Click(object sender, EventArgs e) { try { string pWorkspaceName = strName; string sdeUser = pSDEwsp.ConnectionProperties.GetProperty("USER").ToString(); IWorkspaceFactory pMDBws 阅读全文
摘要:
数据的转换(shp sde mdb 之间的转换)调用用下面的方法可以将要素类从sde导出到shp或者mdb 或者从三个中的任意一个导出到另外一个。方法是:/// <summary> /// 将一个要素类从一个工作空间转移到另外一个工作空间 /// 注意目标工作空间不能有改要素类,必须先清除 /// </summary> /// <param name="sourceWorkspace">源工作空间</param> /// <param name="targetWorkspace">目标工作空间& 阅读全文
摘要:
打开类打开类 1 public class clsOpenClass 2 { 3 public static void OpenFeatureClass(AxMapControl MapControl, 4 IFeatureClassName pFcName, ListView listview1) 5 { 6 try 7 { 8 MapControl.Map.ClearLayers(); 9 ... 阅读全文
摘要:
(C#语言)private void ImportFeatureClassToNewWorkSpace(IFeatureDataset apFD) { //打开SHP文件 string StrFilter = "SHP文件(.shp) | *.shp"; string ImportShapeFileName = OpenFile(StrFilter); if (ImportShapeFileName == "") { return; } string ImportFileShortName = System.IO.Path.GetFileNameWith 阅读全文
摘要:
本对照表旨在当你熟悉其中一门语法,你可以根据本对照表,快速地熟悉另外的语言的语法。1.基本数据类型基础类型名 C++ VB.net C#.net Java______________________________________________布尔型 bool Boolean Boolean boolean字符型 char Char Char char短型 short Short Short short整型 int Integer Integer int长型 long L... 阅读全文
摘要:
#region 删除要素集满足某条件指定要素3 /// <summary> /// 删除要素集满足某条件指定要素 /// </summary> /// <param name="workspace"></param> /// <param name="featureclass"></param> public static void DeleteSDEFeature3() { //删除要素集满足某条件指定要素条件 线路编码=G321 string featureclass = &qu 阅读全文