- 浏览: 1768634 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
功能:远程web上传shp文件,然后添加到指定的SDE已经存在的FeatureClass里
思路:读取shp里的Feature,编程连接到SDE,打开指定的FeatureClass,然后插入。
缺点:现在只能适用没有注册为版本的FeatureClass,在测试过程中,如果注册为版本,则运行报“Objects in this class cannot be updated outside an edit session ” 这个错误,一直不知道怎么解决,还请高手指点。
效果图:
主要实现代码:
文件上传功能实现:
private void UpLoadFiles() { string filepath = Server.MapPath("./") + "UpLoadFiles"; HttpFileCollection uploadedFiles = Request.Files; for (int i = 0; i < uploadedFiles.Count; i++) { HttpPostedFile userPostedFile = uploadedFiles[i]; try { if (userPostedFile.ContentLength > 0) { userPostedFile.SaveAs(filepath + "\\" + System.IO.Path.GetFileName(userPostedFile.FileName)); } message.Text = this.ShpFile + "上传成功!"; } catch { message.Text = this.ShpFile + "上传失败!"; } } }
读取shp里的Feature功能实现:
public IFeatureClass GetShpFeatureClass() { IFeatureClass returnFeatureClass = null; //取得服务中的基本信息 IServerContext soc = GetSoc(); string filepath = Server.MapPath("./") + "UpLoadFiles"; IWorkspaceFactory pWorkspaceFactory = (IWorkspaceFactory)soc.CreateObject("esriDataSourcesFile.ShapefileWorkspaceFactory"); IFeatureWorkspace pFeatWS = pWorkspaceFactory.OpenFromFile(@filepath, 0) as IFeatureWorkspace; //IFeatureLayer pLayer = (IFeatureLayer)pSOC.CreateObject("esriCarto.FeatureLayer"); returnFeatureClass = pFeatWS.OpenFeatureClass("china-hlj.shp"); //pLayer.Name = "rivers"; soc.ReleaseContext(); return returnFeatureClass; }
添加Feature到SDE的功能实现:
public void Add_Fea(string FeaName, IFeature insertFeature) { IServerContext soc = GetSoc(); IPropertySet propSet = new PropertySetClass(); propSet.SetProperty("SERVER", this.SdeServer); propSet.SetProperty("INSTANCE", this.SdeInstance); propSet.SetProperty("USER", this.SdeUser); propSet.SetProperty("PASSWORD", this.SdePassword); propSet.SetProperty("VERSION", this.SdeVerson); IWorkspaceFactory pWorkSpFac = (IWorkspaceFactory)soc.CreateObject("esriDataSourcesGDB.SDEWorkspaceFactory"); IFeatureWorkspace pFeaWorkSp = null; pFeaWorkSp = (IFeatureWorkspace)(pWorkSpFac.Open(propSet, 0));//打开要素空间 IFeatureClass FeaCls = pFeaWorkSp.OpenFeatureClass(FeaName);//取得要素集 IFeatureCursor FeaCursor = FeaCls.Insert(true); IFeatureBuffer FeaBuffer = FeaCls.CreateFeatureBuffer(); ; IField Fld = new FieldClass(); IFields Flds = insertFeature.Fields; for (int i = 0; i < Flds.FieldCount; i++) { Fld = Flds.get_Field(i); int index = FeaBuffer.Fields.FindField(Fld.Name); if (index != -1) { FeaBuffer.set_Value(index, insertFeature.get_Value(i)); } } FeaCursor.InsertFeature(FeaBuffer); soc.ReleaseContext(); pFeaWorkSp = null; }
使用注意事项:在使用时要设置SdeServer、SdeInstance、SdeUser、SdePassword、SdeVerson、FeatureClass等属性。
- ShpRemoteAddToSDE.rar (92.7 KB)
- 下载次数: 95
评论
2 楼
junmail
2008-10-15
应该可以!!!
1 楼
huang_chao521
2008-10-15
大哥,如果arcgis Server和 web服务器分别位于不同的机器上。你这能正常运行吗?
发表评论
-
FileGDB的要素编辑
2008-09-19 10:46 5015这段时间在做FileGDB的要素编辑,以前做过shp的编辑,以 ... -
利用JavaScript实现图片标注——SearchMapIdentityTask
2008-09-16 16:04 7921功能:功能实现了现在网络流行的定位后在地图上画一个图标,点击图 ... -
Arcgis Server发布WMS服务时URL样式
2008-09-08 15:50 6890http://192.168.1.102/ArcGIS/ser ... -
关于处理Maptips的技巧和方法总结
2008-09-02 17:20 2579为了处理adf中关于Maptips的各种棘手问题,我前段时间没 ... -
ArcGIS Server概述
2008-09-02 16:32 31461、概述 ArcGIS Server——基于AO的对象服务器, ... -
用Data source-specific APIs 编程
2008-08-06 16:21 2327ArcGIS Server APIsSOAP1)XML-str ... -
Data source-specific APIs 编程中的常用概念
2008-08-06 15:23 1611首先介绍几个概念: Server Objects 一个服务器对 ... -
Web ADF编程
2008-08-06 14:11 1996通用步骤:1. 从Web controls 开始2. 访问re ... -
北京ArcGis Server应用基础培训笔记2
2008-08-04 17:43 310517、ArcGIS Server Internet连接方式和A ... -
北京ArcGis Server应用基础培训笔记1
2008-08-04 14:25 36741 用户名问题在GIS Server PostInstall过 ... -
北京ArcGis Server开发培训例子(整理)
2008-08-01 16:07 9862前段时间到北京去参加了ArcGis Server应用开发的培训 ... -
Arcgis Server常用类库分类
2008-07-29 11:34 2829Web controls----ESRI.ArcGIS.ADF ... -
北京ArcGis Server开发培训笔记
2008-07-28 15:57 29731、以local方式连接arcgis server 时需要设置 ... -
如何采用Local方式连接到ArcGIS Server
2008-06-20 22:05 2999在使用ArcGIS Server ArcObjects API ... -
ArcGISServer 开发问题集
2008-06-13 08:35 2441Map resource "MapResou ... -
ArcGIS Server几个基本概念
2008-06-12 17:06 31481 gis server 简单的说,gis ... -
ArcGIS Server开发调试中经常遇到的问题
2008-06-10 13:21 2975在对.net开发ArcGIS Server 的web 应用程序 ... -
ArcGIS Server开发——控制图层是否可见
2008-06-10 13:18 2373当需要控制图层的可见性时,可以使用 IMapDescripti ... -
在ArcGIS Server中不能直接用New来创建ArcObjects对象,而应该用serverC
2008-06-10 13:15 20241 web应用调用的是远程的AO组件,这些AO对象都运行在服务 ...
相关推荐
在ArcMap中,通过右键新建Feature Class,可以选择不同类型的几何特征,如点、线、面等。添加必要的字段,并保存为新的空间表。 四、编辑图层 启用编辑工具栏,对图层进行编辑,包括添加、删除和修改特征。记得在...
本文将详细讲解如何通过C#编程语言和Esri的ArcEngine库来实现Excel数据文件向shape点文件的转换,并进一步将转换后的数据导入到ArcSde中。 首先,我们要了解Excel文件和shape文件的特性。Excel是一种广泛使用的电子...
- 在弹出的“Export Data”对话框中,指定输出格式为“Feature Class to Geodatabase”。 - 选择连接到ArcSDE+Oracle数据库的方式,输入数据库连接信息,包括服务器地址、端口号、用户名和密码等。 - 在下一步中,...
16 //打开工作空间并添加shp文件 17 pWorkspaceFactory = new ShapefileWorkspaceFactoryClass(); 18 pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); 19 pFeatureLayer = ...
通过上述步骤,我们可以有效地连接到SDE数据库,并定位到特定的`FeatureClass`进行编辑。需要注意的是,实际操作中可能遇到权限问题、连接超时等问题,因此在代码实现时应考虑异常处理,确保程序的健壮性和安全性。...
工作空间是 ArcEngine 中用于管理数据的一种方式,主要包括文件地理数据库 (FileGeoDatabase)、形状文件 (SHP) 和空间数据库 (SDE) 的操作。 - **文件地理数据库 (FileGeoDatabase)**:通过 `...