資源簡介
arcengine內在圖層創建(全)arcengine內在圖層創建(全)arcengine內在圖層創建(全)arcengine內在圖層創建(全)

代碼片段和文件信息
//建立內存圖層------------------
/*
?*?創建一個工具,名為CreatMemlayer
?*?這個工具的作用為,創建一個名為layername參數傳進來的內存圖層
?*?這個內存圖層的格式定義在本類的CreateVehicleFeature函數,可以自定義修改
?*?作者:陳芋宇???
?*?20100716
?*/
using?System;
using?System.Drawing;
using?System.Runtime.InteropServices;
using?ESRI.ArcGIS.ADF.baseClasses;
using?ESRI.ArcGIS.ADF.CATIDs;
using?ESRI.ArcGIS.Carto;
using?ESRI.ArcGIS.Geodatabase;
using?ESRI.ArcGIS.DataSourcesGDB;
using?ESRI.ArcGIS.Geometry;
using?ESRI.ArcGIS.Controls;
using?ESRI.ArcGIS.esriSystem;
using?ESRI.ArcGIS.Display;
namespace?InMemolayer
{
????public?class?CreateMemolayer
????{
????????//自定義一系列的變量唄
????????private?IHookHelper?m_hookHelper;
????????private?IFeature?pthisfeature;
????????IFeatureClass?pvehicleclass;
????????IFeaturelayer?pvehiclelayer;
????????IActiveView?m_activeView;
????????///?
????????///?默認構造函數
????????///?
????????public?CreateMemolayer(object?hook)
????????{
????????????if?(hook?==?null)
????????????????return;
????????????if?(m_hookHelper?==?null)
????????????????m_hookHelper?=?new?HookHelperClass();
????????????m_hookHelper.Hook?=?hook;
????????????m_activeView?=?m_hookHelper.ActiveView;
????????
????????}
????????///?
????????///?創建空的內存工作空間,并且返回工作空間?--?pfeatureworkspace
????????///?
????????private?IFeatureWorkspace?CreateEmptylayerInmemeory(string?slayername?ESRI.ArcGIS.Geometry.ISpatialReference?pspatialreference?int?itype)
????????{
????????????//打開工作空間
????????????const?string?strShapeFieldName?=?“SHAPE“;
????????????IWorkspaceFactory?pWSF?=?new?InMemoryWorkspaceFactoryClass();
????????????ESRI.ArcGIS.Geodatabase.IWorkspaceName?pworkspacename?=?pWSF.Create(““?“MyWorkspace“?null?0);
????????????ESRI.ArcGIS.esriSystem.IName?pname?=?(IName)pworkspacename;
????????????IFeatureWorkspace?pfeatureworkspace?=?(IFeatureWorkspace)(pname.Open());?//打開剛建立的內存空間
????????????try
????????????{
????????????????//為esriFieldTypeGeometry類型的字段創建幾何定義,包括類型和空間參照?
????????????????IGeometryDef?pGeoDef?=?new?GeometryDefClass();?????//The?geometry?definition?for?the?field?if?IsGeometry?is?TRUE.
????????????????IGeometryDefEdit?pGeoDefEdit?=?(IGeometryDefEdit)pGeoDef;
????????????????if?(itype?==?0)
????????????????{
????????????????????pGeoDefEdit.GeometryType_2?=?esriGeometryType.esriGeometryPoint;
????????????????}
????????????????else
????????????????{
????????????????????if?(itype?==?1)
????????????????????{
????????????????????????pGeoDefEdit.GeometryType_2?=?esriGeometryType.esriGeometryPolyline;
????????????????????}
????????????????????else
????????????????????{
????????????????????????pGeoDefEdit.GeometryType_2?=?esriGeometryType.esriGeometryPolygon;
????????????????????}
????????????????}
????????????????if?(pspatialreference?!=?null)
????????????????{
????????????????????pspatialreference.SetDomain(-180?180?-90?90);
????????????????????pGeoDefEdit.SpatialReference_2?=?pspatialreference;
?????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11836??2010-07-16?10:03??CreateMemola
-----------?---------??----------?-----??----
????????????????11836????????????????????1
- 上一篇:HCNP路由交換的總結
- 下一篇:S7-300/400流量累計功能塊
評論
共有 條評論