久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

Arcgis Engine開發(fā)總結(jié)集錦

時(shí)間:2019-05-14 16:37:18下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《Arcgis Engine開發(fā)總結(jié)集錦》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《Arcgis Engine開發(fā)總結(jié)集錦》。

第一篇:Arcgis Engine開發(fā)總結(jié)集錦

1.目錄

1.目錄...................................................................................................................................................................................................................1 2.用ArcEngine的工具條添加圖層要素...........................................................................................................................................................2 3.ArcEngine中對(duì)Feature的編輯......................................................................................................................................................................5 4.Feature的概念..................................................................................................................................................................................................7 5.如何實(shí)現(xiàn)經(jīng)度緯度到平面坐標(biāo)的相互轉(zhuǎn)換?(轉(zhuǎn)載).................................................................................................................................7 6.ArcEngine中使用上下左右鍵移動(dòng)地圖功能的實(shí)現(xiàn)....................................................................................................................................9 7.緩沖區(qū)的創(chuàng)建.................................................................................................................................................................................................11 8.C#制作鷹眼全過(guò)程(引自ESRI中國(guó)社區(qū))...................................................................................................................................................13 9.ArcEngine中拓?fù)涞氖褂?......................................................................................................................................................................86 26.基于AO/AE獲取要素信息.......................................................................................................................................................................87 27.ArcEngine中拓?fù)涞氖褂?..........................................................................................................................................100 IfeatureSelection:SelectFeatures方法介紹..............................................................................................................................................105 常用數(shù)據(jù)入sde庫(kù)的代碼........................................................................................................................................................................107 ArcEngine開發(fā)感想.................................................................................................................................................................................112 Geometry 對(duì)象淺析.................................................................................................................................................................................114 AE開發(fā)中的一些基本方法(1)數(shù)據(jù)連接................................................................................................................................................125 2.用ArcEngine的工具條添加圖層要素

發(fā)現(xiàn)AE比起其它的組件GIS來(lái)要好用的多 但也有一些bt的地方

比如說(shuō)AE沒有提供圖層編輯的工具條

但最近因?yàn)槌绦蚶镆砑訄D元 必須得開發(fā)圖層編輯的功能

于是去找了找資料

發(fā)現(xiàn)自帶的幫助里有一個(gè)MapEditing的示例 但是從AO的示例改造而來(lái) 需要從按鈕寫起 想想如果這樣搞的話 倒不如直接用AO算了

一直想省點(diǎn)事

在AE自帶的工具條上做點(diǎn)文章

其實(shí)AE中也有一組相似的編輯按鈕,是用于編輯Graphics的

自然就有了一個(gè)想法:能不能先生成一個(gè)Graphic,然后將其加載進(jìn)來(lái) 代碼分享

private void Form1_Load(object sender, System.EventArgs e){ //清空?qǐng)D層

this.axMapControl1.Map.ClearLayers();

//加載服務(wù)器SDE地圖信息

ESRI.ArcGIS.esriSystem.IpropertySet Proset = new ESRI.ArcGIS.esriSystem.PropertySetClass();//屬性集

ESRI.ArcGIS.Geodatabase.IWorkspaceFactory Fact;//工作空間倉(cāng)庫(kù)

ESRI.ArcGIS.Geodatabase.IWorkspace Workspace;//工作空間

Proset.SetProperty(“Server”,“服務(wù)器名”);//服務(wù)器名

Proset.SetProperty(“Instance”,“端口”);//實(shí)例化端口

Proset.SetProperty(“user”,“用戶名”);//SDE用戶名

Proset.SetProperty(“password”,“密碼”);//密碼

Proset.SetProperty(“version”,“sde.DEFAULT”);//連接版本

Fact = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass();//實(shí)例化為SDE工作空間倉(cāng)庫(kù) Workspace = Fact.Open(Proset,Int32.Parse(this.Handle.ToString()));//填入屬性集

ESRI.ArcGIS.Geodatabase.IFeatureWorkspace FeatureWorkspace;FeatureWorkspace = Workspace as ESRI.ArcGIS.Geodatabase.IFeatureWorkspace;//傳遞給Feature工作空間

ESRI.ArcGIS.Geodatabase.IFeatureClass FeatureClass;FeatureClass = FeatureWorkspace.OpenFeatureClass(“SDE.BBBB”);//填充所需Feature集合

ESRI.ArcGIS.Carto.FeatureLayer FLayer = new ESRI.ArcGIS.Carto.FeatureLayerClass();FLayer.FeatureClass = FeatureClass;//將Feature加載到圖層

axMapControl1.Map.AddLayer(FLayer);//加載圖層 axMapControl1.Update();//更新空白區(qū)域

axMapControl1.Refresh();//刷新地圖視窗 }

private void Form1_Closed(object sender, System.EventArgs e){ ESRI.ArcGIS.esriSystem.IAoInitialize aoi = new ESRI.ArcGIS.esriSystem.AoInitializeClass();aoi.Shutdown();}

private void button1_Click(object sender, System.EventArgs e){ IGraphicsContainerSelect GraphicsContainerSelect =(IGraphicsContainerSelect)axMapControl1.Map;

if(GraphicsContainerSelect.ElementSelectionCount ==0)//判斷是否選中圖斑

{ MessageBox.Show(“請(qǐng)選中欲導(dǎo)入圖斑!”);return;} IWorkspaceEdit WorkspaceEdit;IFeatureLayer FeatureLayer;IFeatureClass FeatureClass;IFeature Feature;IDataset Dataset;

FeatureLayer =(IFeatureLayer)this.axMapControl1.get_Layer(0);//選中導(dǎo)入圖層

FeatureClass = FeatureLayer.FeatureClass;//該圖層的feature集

Dataset =(IDataset)FeatureClass;//該圖層的數(shù)據(jù)集

WorkspaceEdit =(IWorkspaceEdit)Dataset.Workspace;//關(guān)聯(lián)到編輯空間

WorkspaceEdit.StartEditing(true);//使之可編輯 WorkspaceEdit.StartEditOperation();//開始編輯

Feature = FeatureClass.CreateFeature();//創(chuàng)建空f(shuō)eature Feature.Shape = GraphicsContainerSelect.SelectedElement(0).Geometry;//僅導(dǎo)入最新選中圖斑,即多選時(shí)只有一個(gè)可以導(dǎo)入

Feature.Store();WorkspaceEdit.StopEditOperation();

WorkspaceEdit.StopEditing(true);//結(jié)束編輯并保存

IGraphicsContainer GraphicsContainer =(IGraphicsContainer)GraphicsContainerSelect;

GraphicsContainer.DeleteAllElements();//刪除graphic圖層

axMapControl1.ActiveView.Refresh();//刷新當(dāng)前視圖

MessageBox.Show(“ok”);} 3.ArcEngine中對(duì)Feature的編輯

對(duì)Feature的編輯分為以下幾個(gè)部分 1.新建 2.修改 3.刪除

涉及到的接口有以下幾個(gè) IWorkspaceEdit IFeatureClass IFeatureCursor IFeature 其中IWorkspaceEdit用于啟動(dòng)編輯 開始編輯操作 結(jié)束編輯操作 結(jié)束編輯 IFeatureClass 是數(shù)據(jù)的所在地

IFeatureCursor 是一個(gè)游標(biāo) 提供訪問(wèn)數(shù)據(jù)的接口和修改數(shù)據(jù)的接口 IFeature 是對(duì)象的代表 我們要編輯的目標(biāo) 編輯的過(guò)程如下: 1.添加一個(gè)Feature //假設(shè)space是一個(gè)IWorkspaceEdit //參數(shù)表示是否需要使用Undo/Redo功能,該功能的粒度是EditOperator.spaceEdit.StartEditing(false);spaceEdit.StartEditOperator();//添加一個(gè)Feature IFeature newFea=feaClass.createFeature();//為Feature 添加屬性 設(shè)置圖形 newFea.Store();//保存屬性和圖形

spaceEdit.StopEditOperator();//結(jié)束編輯操作 //結(jié)束編輯過(guò)程

//參數(shù)表示是否保存編輯 spaceEdit.StopEditing(true);2.添加多個(gè)Feature 添加多個(gè)Feature也可以向上面一樣 使用多次就可以了

當(dāng)時(shí)也可以使用IFeatureCursor來(lái)添加數(shù)據(jù) 3.修改Feature 添加Feature中的修改屬性和圖形部分就是

每次修改后一定要調(diào)用Store方法 這樣變化才可以保存下來(lái) 4.刪除

IFeature 有一個(gè)方法Delete 可以用于刪除 當(dāng)時(shí)經(jīng)過(guò)測(cè)試發(fā)現(xiàn)對(duì)Shapefile 會(huì)拋出異常來(lái)。

IFeatureCuror有一個(gè)DeleteFeature方法 可以用來(lái)刪除當(dāng)前的Feature,經(jīng)測(cè)試

對(duì)所有的數(shù)據(jù)源類型都可以使用。

注意事項(xiàng)

1.不能設(shè)置Feature的OID 2.不能設(shè)置Feature的Area 3.不能設(shè)置Feature的Lenght 4.不能設(shè)置Feature的Shape字段,需要調(diào)用單獨(dú)的方法來(lái)給Feature關(guān)聯(lián)幾何圖形。4.Feature的概念

Feature是二次開發(fā)中最常用的對(duì)象,feature是featureclass中一個(gè)記錄,從object中派生出來(lái)的,因此也具有屬性和方法,object又是從row中派生的,所以featureclass其實(shí)一張表,featured就是表中的一條記錄,feature可以保存空間數(shù)據(jù)對(duì)象,要素中的幾何型體對(duì)象定義了要素的類型,它可以保存的幾何型體對(duì)象有點(diǎn)、點(diǎn)集、多邊形、多義線。這些都是些簡(jiǎn)單的要素對(duì)象,在有些情況下要素還可以參與拓?fù)洹⒕W(wǎng)絡(luò)運(yùn)算。Feature相關(guān)接口

Feature有派生出很多類,如:networkfeature、rastercatalogfeature、coverageannotationfeature、annotationfeature、dimensionfeature。feature的主要接口是Ifeature,其中的Extent用來(lái)返回要素對(duì)象的包絡(luò)線,顯示要素的空間范圍;Featuretype返回要素的類型;Shape返回要素的幾何型體對(duì)象;ShapeCopy得到幾何型體對(duì)象的一個(gè)拷貝。IfeatureBuffer中的Shape得到緩沖要素的幾何型體對(duì)象

IfeatureEdit中MoveSet、RotateSet、DeleteSet分別是移動(dòng)、旋轉(zhuǎn)、刪除一個(gè)或者是多個(gè)要素組成的要素集上。Split主要是用來(lái)分割幾何型體的,通過(guò)點(diǎn)分割線,通過(guò)多義線分割多邊形,分割后舊的被刪除,新的要素自動(dòng)產(chǎn)生。因?yàn)槊總€(gè)要素都有對(duì)應(yīng)的屬性,要素改變了,其對(duì)應(yīng)的屬性也相應(yīng)的要改變。Splitattributes就是用來(lái)分割要素屬性字段中的值。該方法可以在Split方法執(zhí)行后自動(dòng)執(zhí)行。IfeatureDraw中的InvalidArea屬性得到一個(gè)繪畫的區(qū)域。Draw在顯示設(shè)備上繪制要素

IfeatureChanges中OriginalShape得到要素的最初幾何類型,ShapeChanged指示要素的幾何類型是否改變。IfeatureSimplify中SimplifyGeometry按照該元素的拓?fù)湟?guī)則進(jìn)行拓?fù)湟恢?/p>

5.如何實(shí)現(xiàn)經(jīng)度緯度到平面坐標(biāo)的相互轉(zhuǎn)換?(轉(zhuǎn)載)

分類:WebGIS網(wǎng)絡(luò)地理信息系統(tǒng)研究

現(xiàn)在好多人在使用ArcObject的時(shí)候都可能需要作經(jīng)緯度和平面坐標(biāo)的相互轉(zhuǎn)換。由于經(jīng)緯度是球面坐標(biāo),平面坐標(biāo)是X-Y的笛卡爾坐標(biāo)系統(tǒng),所以這是一個(gè)看起來(lái)比較難的問(wèn)題。

好多人一上來(lái)就搬出地圖學(xué)、地圖投影學(xué)或者測(cè)繪學(xué)中的投影公式(如高斯投影 或 墨卡托投影),又是基準(zhǔn)坐標(biāo)又是角度的搞的人頭都大了。

實(shí)際上要想實(shí)現(xiàn)這個(gè)功能非常easy。ARC Engine中的IPoint就可以進(jìn)行投影和反投影運(yùn)算了。投影過(guò)程(C#):

/// flatref 投影的坐標(biāo)系統(tǒng),這里的54013是世界投影,世界投影所有經(jīng)緯度都可以轉(zhuǎn)換為平面坐標(biāo),但是由于投影面積大失真也會(huì)比較大(相當(dāng)于把整個(gè)地球劈成一片片的,然后拉伸最后貼到平面上,失真當(dāng)然大了)。當(dāng)然也可以選擇精度更高的平面如:esriSRProjCS_Beijing1954GK_23N

對(duì)應(yīng)數(shù)值21483 僅僅把北京附近的地球平面拉伸鋪在平面上,由于投影面積變小,所以投影經(jīng)度提高。但是由于面積變小,所以有些經(jīng)度緯度不能轉(zhuǎn)換,比如所美國(guó)的精度緯度用北京投影就投不了。

flatref = pfactory.CreateProjectedCoordinateSystem(54013);

//沒什么說(shuō)的,標(biāo)準(zhǔn)大地經(jīng)緯度,可以將X-Y逆投影為經(jīng)度和緯度

earthref = pfactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_NAD1983);

/// 將經(jīng)緯度點(diǎn)轉(zhuǎn)換為平面坐標(biāo)。

private IPoint GetProject(double x, double y)

{

IPoint pt = new PointClass();

pt.PutCoords(x, y);

IGeometry geo =(IGeometry)pt;

geo.SpatialReference = earthref;

geo.Project(flatref);

return pt;

}

/// 將平面坐標(biāo)轉(zhuǎn)換為經(jīng)緯度。

private IPoint GetGeo(double x, double y)

{

IPoint pt = new PointClass();

pt.PutCoords(x, y);

IGeometry geo =(IGeometry)pt;

geo.SpatialReference = flatref;

geo.Project(earthref);

double xx = pt.X;

return pt;}實(shí)際上IPoint的投影和任何地圖都沒什么大關(guān)系,完全可以不用地圖,直接調(diào)用IPoint進(jìn)行投影的轉(zhuǎn)換

6.ArcEngine中使用上下左右鍵移動(dòng)地圖功能的實(shí)現(xiàn)

//閃爍目標(biāo)

public static void FlashFeature(AxMapControl mapControl,IFeature iFeature, IMap iMap){ IActiveView iActiveView = iMap as IActiveView;if(iActiveView!= null){ iActiveView.ScreenDisplay.StartDrawing(0,(short)esriScreenCache.esriNoScreenCache);//根據(jù)幾何類型調(diào)用不同的過(guò)程

switch(iFeature.Shape.GeometryType){ case esriGeometryType.esriGeometryPolyline: FlashLine(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);break;case esriGeometryType.esriGeometryPolygon: FlashPolygon(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);break;case esriGeometryType.esriGeometryPoint: FlashPoint(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);break;default: break;} iActiveView.ScreenDisplay.FinishDrawing();} } //閃爍線

static void FlashLine(AxMapControl mapControl,IScreenDisplay iScreenDisplay,IGeometry iGeometry){ ISimpleLineSymbol iLineSymbol;ISymbol iSymbol;IRgbColor iRgbColor;iLineSymbol = new SimpleLineSymbol();iLineSymbol.Width = 4;iRgbColor = new RgbColor();iRgbColor.Red = 255;iLineSymbol.Color = iRgbColor;iSymbol =(ISymbol)iLineSymbol;iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;mapControl.FlashShape(iGeometry, 3, 200, iSymbol);} //閃爍面

static void FlashPolygon(AxMapControl mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry){ ISimpleFillSymbol iFillSymbol;ISymbol iSymbol;IRgbColor iRgbColor;iFillSymbol = new SimpleFillSymbol();iFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;iFillSymbol.Outline.Width = 12;iRgbColor = new RgbColor();iRgbColor.RGB = System.Drawing.Color.FromArgb(100, 180, 180).ToArgb();iFillSymbol.Color = iRgbColor;iSymbol =(ISymbol)iFillSymbol;iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;iScreenDisplay.SetSymbol(iSymbol);mapControl.FlashShape(iGeometry, 3, 200, iSymbol);} //閃爍點(diǎn)

static void FlashPoint(AxMapControl mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry){ ISimpleMarkerSymbol iMarkerSymbol;ISymbol iSymbol;IRgbColor iRgbColor;iMarkerSymbol = new SimpleMarkerSymbol();iMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;iRgbColor = new RgbColor();iRgbColor.RGB = System.Drawing.Color.FromArgb(0, 0, 0).ToArgb();iMarkerSymbol.Color = iRgbColor;iSymbol =(ISymbol)iMarkerSymbol;iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;mapControl.FlashShape(iGeometry, 3, 200, iSymbol);} 7.緩沖區(qū)的創(chuàng)建

藍(lán)藍(lán)的小志 發(fā)表于 2005-6-5 10:07:08

本文以面圖層為例,并且把創(chuàng)建的緩沖區(qū)就存儲(chǔ)在面圖層中,當(dāng)然也可以把創(chuàng)建的緩沖區(qū)另存為一個(gè)新的圖層。程序運(yùn)行環(huán)境(.NET+AO)

代碼如下:

Private Sub ITopologicalOperator_Buffer(ByVal pFeatLyr As ESRI.ArcGIS.Carto.IFeatureLayer, ByVal distance As Double, Optional ByVal pFeatClass As ESRI.ArcGIS.Geodatabase.IFeatureClass = Nothing)'pFeatLyr 為面圖層 'distance緩沖距離

Dim pFeatureClass As ESRI.ArcGIS.Geodatabase.IFeatureClass

Dim pTopoOper As ESRI.ArcGIS.Geometry.ITopologicalOperator

Dim pBufferPoly As ESRI.ArcGIS.Geometry.IPolygon

Dim pFeatCursor As ESRI.ArcGIS.Geodatabase.IFeatureCursor

Dim pFeature As ESRI.ArcGIS.Geodatabase.IFeature

Try

pFeatureClass = pFeatLyr.FeatureClass

pFeatCursor = pFeatureClass.Search(Nothing, False)

pFeature = pFeatCursor.NextFeature

Do

If Not(pFeature Is Nothing)Then

pTopoOper = pFeature.Shape()

pBufferPoly = pTopoOper.Buffer(distance)

'pFeature = pFeatClass.CreateFeature

pFeature.Shape = pBufferPoly

pFeature.Store()

pFeature = pFeatCursor.NextFeature()

End If

Loop Until(pFeature Is Nothing)

Catch

MsgBox(Err.Description, MsgBoxStyle.OKOnly, “錯(cuò)誤提示”)

pFeature = Nothing

pFeatCursor = Nothing

pBufferPoly = Nothing

pTopoOper = Nothing

pFeatureClass = Nothing

pFeatLyr = Nothing

End Try

pFeature = Nothing

pFeatCursor = Nothing

pBufferPoly = Nothing

pTopoOper = Nothing

pFeatureClass = Nothing

pFeatLyr = Nothing

End Sub 8.C#制作鷹眼全過(guò)程(引自ESRI中國(guó)社區(qū))

1.axMapControl1是主控件,axMapControl2是鷹眼控件

2.1.鷹眼地圖資源載入

3.private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)

4.{

5.//當(dāng)主地圖顯示控件的地圖更換時(shí),鷹眼中的地圖也跟隨更換

6.axMapControl2.LoadMxFile(axMapControl1.DocumentFilename);

7.axMapControl2.Extent = axMapControl2.FullExtent;

8.}

9.2.繪制鷹眼矩形框

10.private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)

11.{

12.// 得到新范圍

13.IEnvelope pEnv =(IEnvelope)e.newEnvelope;

14.IGraphicsContainer pGra = axMapControl2.Map as IGraphicsContainer;

15.IActiveView pAv = pGra as IActiveView;

16.//在繪制前,清除axMapControl2中的任何圖形元素

17.pGra.DeleteAllElements();

18.IRectangleElement pRectangleEle = new RectangleElementClass();

19.IElement pEle = pRectangleEle as IElement;

20.pEle.Geometry = pEnv;

21.//設(shè)置鷹眼圖中的紅線框

22.IRgbColor pColor = new RgbColorClass();

23.pColor.Red = 255;

24.pColor.Green = 0;

25.pColor.Blue = 0;26.pColor.Transparency = 255;27.//產(chǎn)生一個(gè)線符號(hào)對(duì)象

28.ILineSymbol pOutline = new SimpleLineSymbolClass();

29.pOutline.Width = 2;

30.pOutline.Color = pColor;

31.//設(shè)置顏色屬性

32.pColor = new RgbColorClass();

33.pColor.Red = 255;

34.pColor.Green = 0;

35.pColor.Blue = 0;

36.pColor.Transparency = 0;

37.//設(shè)置填充符號(hào)的屬性

38.IFillSymbol pFillSymbol = new SimpleFillSymbolClass();

39.pFillSymbol.Color = pColor;

40.pFillSymbol.Outline = pOutline;

41.IFillShapeElement pFillShapeEle = pEle as IFillShapeElement;

42.pFillShapeEle.Symbol = pFillSymbol;

43.pGra.AddElement((IElement)pFillShapeEle, 0);

44.pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

45.}

46.3.實(shí)現(xiàn)互動(dòng)

47.private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)

48.{

49.IPoint pPt=new PointClass();

50.pPt.PutCoords(e.mapX ,e.mapY);51.//改變主控件的視圖范圍

52.axMapControl1.CenterAt(pPt);

53.} 9.ArcEngine中拓?fù)涞氖褂?-

拓?fù)?ITopology)的使用包括 1.建立拓?fù)?2.驗(yàn)證拓?fù)?/p>

3.編輯過(guò)程中保證拓?fù)涞恼_ 4.查詢系統(tǒng)中存在的拓?fù)?1.首先 來(lái)看看建立拓?fù)?/p>

Topology實(shí)現(xiàn)了ITopology這個(gè)接口 但是給類是不能用來(lái)創(chuàng)建對(duì)象的。

必須要通過(guò)調(diào)用 ITopologyContainer::CreateTopology這個(gè)方法來(lái)建立一個(gè)Topology FeatureDataset 實(shí)現(xiàn)了ITopologyContainer這個(gè)接口。那么 這就是說(shuō)拓?fù)渲荒茉谝粋€(gè)

FeatureDataset的范圍內(nèi)建立。而不能獨(dú)立存在于Workspace中。這樣做的原因是需要保證 參與同一個(gè)拓?fù)涞腇eatureClass具有同一個(gè)投影坐標(biāo)系統(tǒng)。建立拓?fù)浜笮枰獙bjectClass 加入到拓?fù)渲腥ァ_@樣這個(gè)拓?fù)渚涂梢杂脕?lái)驗(yàn)證這幾個(gè)ObjectClass 的對(duì)象之間的關(guān)系了。驗(yàn)證關(guān)系就要有規(guī)則,規(guī)則是由ITopologyRule來(lái)表達(dá)的。ITopologyRule必須要被 加入到一個(gè)ITopologyRuleContainer中去。而Topology實(shí)現(xiàn)了這個(gè)接口。一個(gè)ITopologyRule用來(lái)表達(dá)兩個(gè)ObjectClass的對(duì)象之間的某個(gè)關(guān)系。具體代碼參看接口就可以了。2.驗(yàn)證拓?fù)?/p>

ITopology有一個(gè)方法 ValidateTopology 用來(lái)驗(yàn)證指定區(qū)域內(nèi)的拓?fù)洹P枰⒁?沒有版本 的拓?fù)淇梢栽?任何時(shí)候驗(yàn)證。而有版本的拓?fù)浔仨氃诰庉嫽卦捴序?yàn)證。3.拓?fù)渚庉?1.移動(dòng)共用點(diǎn)

1.首先需要打開拓?fù)?建立拓?fù)鋱D(ITopologyGraph)代碼如下:

//topoLayer 是一個(gè)打開的拓?fù)鋱D層 ITopologyGraph pTG=topoLayer.Topology.Cache;pTG.Build(pA.Extent,false);2.然后 需要獲得當(dāng)前節(jié)點(diǎn)或者邊 這個(gè)操作要使用拓?fù)鋱D的點(diǎn)擊測(cè)試 ITopologyElement topeEle pTG.HitTest(...ref topeEle);這個(gè)方法在點(diǎn)擊測(cè)試成功的時(shí)候返回true.而且會(huì)通過(guò)topeEle這個(gè)ref 參數(shù)將選中的元素(點(diǎn)或者邊)返回.3.還有一種獲取節(jié)點(diǎn)的方法

首先調(diào)用拓?fù)鋱D的Select方法 選中點(diǎn)擊測(cè)試的元素(pTG.Select)然后可以查詢拓?fù)鋱D的選中節(jié)點(diǎn)集合 就可以找到該節(jié)點(diǎn)(pTG.NodeSelection)4.為該元素使用一個(gè)Feedback.//其中 pNode 就是當(dāng)前節(jié)點(diǎn) sr 是參考坐標(biāo)系 可以使用null //還有給Feedback設(shè)置Display m_pNodeFeedback =pTG.GetSplitMoveNodeFeedback(pNode,false,sr);m_pNodeFeedback.Display= activeView.ScreenDisplay;5.在鼠標(biāo)移動(dòng)的時(shí)候 調(diào)用Feedback的MoveTo 方法。if(m_pNodeFeedback!=null){

//activeView 是活動(dòng)的試圖

//首先要把將點(diǎn)坐標(biāo)轉(zhuǎn)換為地圖中的坐標(biāo)。//然后調(diào)用MoveTo 方法

IPoint pt=activeView.ScreenDisplay.DisplayTransformation.ToMapPoint(X,Y);m_pNodeFeedback.MoveTo(pt);} 6.在鼠標(biāo)釋放的時(shí)候 //獲取拓?fù)鋱D

ITopologyGraph pTG=topoLayer.Topology.Cache;//轉(zhuǎn)換坐標(biāo) IPoint pt=pA.ScreenDisplay.DisplayTransformation.ToMapPoint(X,Y);//獲得正在做拓?fù)渚庉嫷脑?/p>

ITopologyNode pTN=(ITopologyNode)m_pTopoElement;//實(shí)施拓?fù)渚庉?/p>

pTG.SplitMoveNode(pTN,pt,false);//提交拓?fù)渚庉嫿Y(jié)果 IEnvelope pE;pTG.Post(out pE);4.查詢系統(tǒng)中的拓?fù)?/p>

還是ITopologyContainer 這個(gè)接口 這個(gè)接口有FeatureDataset這個(gè)唯一的實(shí)現(xiàn)。CreateTopology 建立一個(gè)新的拓?fù)?/p>

DefaultClusterTolerance The default cluster tolerance as per the topology engine.MaximumClusterTolerance The maximal cluster tolerance as per the topology engine.MinimumClusterTolerance The minimal cluster tolerance as per the topology engine.Topology 通過(guò)索引打開拓?fù)?TopologyByID 通過(guò)ID打開拓?fù)?TopologyByName 通過(guò)名字打開拓?fù)?/p>

TopologyCount 拓?fù)涞臄?shù)目

10.為什么使用接口編程{轉(zhuǎn)載}

進(jìn)行接口的介紹,必須介紹一下程序語(yǔ)言發(fā)展的歷史才行,魯迅先生說(shuō)過(guò)“治學(xué)先治史”,明白了程序語(yǔ)言發(fā)展的前世今生,才能知道為什么這么多語(yǔ)言為什么會(huì)這樣,為什么么會(huì)那樣?

計(jì)算機(jī)出現(xiàn)以后,科學(xué)家相繼開發(fā)了多種語(yǔ)言,從smalltalk,Pascal,Basic,C語(yǔ)言,C++,java,.net等等,這些語(yǔ)言的發(fā)展步伐,可以看作是從面向過(guò)程向面向?qū)ο蟀l(fā)展的一段歷史。很多面向?qū)ο蟮臅诮榻B自己的歷史的時(shí)候,都會(huì)給讀者介紹這一段歷史,并鼓吹OO編程是多么多么的優(yōu)異。問(wèn)題是,很多剛開始學(xué)程序的人根本不知道為什么要有這個(gè)轉(zhuǎn)變,他們也很難理解OO語(yǔ)言中的虛函數(shù),接口等概念到底為了什么而提出來(lái)。

我們?cè)诹私膺@一段歷史以前,首先給大家介紹一個(gè)概念??“粒度”,什么是粒度?作者認(rèn)為所謂粒度其實(shí)就是一個(gè)程序中使用代碼單元的組合尺度,我們可以舉一個(gè)例子,沙礫??磚塊??房屋模板,我們?cè)O(shè)想去修建一座房子,其實(shí)有很多中修筑方法,如果你不閑麻煩,可以使用沙礫一點(diǎn)點(diǎn)地建筑,或者將沙礫燒制為磚塊,用磚塊來(lái)砌,甚至直接從工廠購(gòu)買房屋的門,窗,墻組件來(lái)堆砌。這三種不同的方法代表了三種不同的組合尺度。沙礫是最小的單位,使用它搭建小的房子說(shuō)不定還可以,但是毫無(wú)疑問(wèn),我們必須使用很多很多“沙礫”,不便于管理;磚塊比沙礫聚合了一層,可以用來(lái)修建較大的房子了;房屋模板是最高的尺寸,使用它可以快速地搭建大規(guī)模的房屋。這三種尺度的區(qū)別和聯(lián)系,與我們編寫程序概念是有很大的相似之處的。

在早期學(xué)習(xí)Pascal,老師告訴我們這種面向過(guò)程語(yǔ)言的最基本的單元是過(guò)程和函數(shù),它們是程序中的最小的組件。過(guò)程和函數(shù)可以實(shí)現(xiàn)最基本的代碼重用,當(dāng)我們把某些固定功能的代碼使用過(guò)程和函數(shù)編寫后,我們可以在程序中調(diào)用它們而不必在任何需要的地方都寫上這樣一段代碼,這樣的好處是顯而易見的。在一些小型的程序里面,使用過(guò)程和函數(shù)是合適的,但是在大中型程序中,它們的弊端就顯示出來(lái),過(guò)程和函數(shù)的粒度太低了,如果我們一個(gè)系統(tǒng),有10000個(gè)函數(shù)和過(guò)程,我們的程序員將不得不花費(fèi)大量的時(shí)間去尋找和維護(hù)它們,10000個(gè)沒有任何關(guān)系的函數(shù)和過(guò)程的管理難度是顯而易見的,就好像10000個(gè)人的企業(yè)一樣,如果沒有部門和職務(wù),這還不亂了套?!

面向?qū)ο笳Z(yǔ)言的出現(xiàn),就是為了解決這個(gè)問(wèn)題,別聽OO語(yǔ)言吹的天花亂墜,其實(shí)它出現(xiàn)就為一個(gè)理由??提高編程的粒度。面向?qū)ο笳Z(yǔ)言的基本單位是類 CLASS,類封裝了很多數(shù)據(jù)成員和成員函數(shù),過(guò)程,將最小組件的提高了一個(gè)等級(jí),我們需要直接操作的不是過(guò)程和函數(shù)了,而是一個(gè)個(gè)更高層次上的類。我們把10000人分了很多部門,不同的部門負(fù)責(zé)不同的事宜,這樣公司終于可以走上正軌了。

做成了類CLASS是否就萬(wàn)事大吉了呢?不一定,新的問(wèn)題隨之而來(lái),也許我們有一個(gè)部門的人很多,可以做很多事情,如何在部門內(nèi)部實(shí)現(xiàn)更好的管理呢?好比我們有一個(gè)類,它提供了很多種方法和屬性,這些方法和屬性其實(shí)可以分為一堆堆,為不同的功能服務(wù),但是我們的類并沒有做這個(gè)管理。在AO種,map對(duì)象擁有很多功能,比如管理圖層,管理元素,管理選擇集,進(jìn)行地圖顯示,每種不同的功能都有好多方法和屬性,現(xiàn)在這些屬性和方法是雜亂無(wú)章,沒有任何區(qū)別堆積在一個(gè)類里面的,當(dāng)我們的程序員需要尋找一個(gè)方法的時(shí)候,不得不一個(gè)個(gè)去尋找,很不方便。

這個(gè)時(shí)候,接口interface出現(xiàn)了,C++的發(fā)明者第一次提出純虛函數(shù)(其實(shí)就是接口)概念的時(shí)候,遭到了很多抵制,很多人都不明白接口的意義何在,我們用虛函數(shù)好好的,何必又出來(lái)個(gè)啥東西都沒有的空架子?說(shuō)它是類吧,又不能實(shí)現(xiàn)產(chǎn)生一個(gè)對(duì)象;說(shuō)它是對(duì)象吧,又沒有方法體來(lái)使用。接口出來(lái)干了一件好事,就是將類內(nèi)部進(jìn)行分類。對(duì)于map對(duì)象,我們可以做好幾個(gè)接口,這些接口中定義不同功能的方法,函數(shù)和屬性,map類實(shí)現(xiàn)這些接口,這樣我們可以使用接口定義,實(shí)現(xiàn)對(duì)象。因此,所謂接口就是一系列相關(guān)方法與屬性集合的定義。

Dim pGraphicsContainer as iGraphicsContainer pGraphicsContainer=application.document.ActiveView.focusMap pGraphicsContainer可以使用的屬性和方法就只能是它定義的那部分了,而不能使用管理元素等的接口定義的方法和屬性,那我們?nèi)绾问褂闷渌墓δ苣兀窟@就是所謂的QI(Query Interface)功能。從一個(gè)接口查詢另一個(gè)接口。

Dim pGeoFeatureLayer as iGeofeatureLayer pGeoFeatureLayer= pGraphicsContainer QI

好了,我們羅嗦了這么多,已經(jīng)走進(jìn)了COM的概念了,在正式介紹COM以前我們得最后羅嗦一點(diǎn):計(jì)算機(jī)語(yǔ)言的發(fā)展歷史,其實(shí)就是一部不斷提高組件粒度的歷史,不斷提高代碼重用的歷史。以前我們使用過(guò)程和函數(shù),后來(lái)我們使用類,現(xiàn)在我們使用接口,都是為了一個(gè)目的,讓我們操作的組件在具體和抽象之間尋找一個(gè)平衡點(diǎn)。太具體了,如過(guò)程和函數(shù),就沒有了框架;太抽象,如類,就無(wú)法分別。

一個(gè)代碼示例:

public interface IForm { void Show();void ShowDialog();}

public class A:IForm { public void Show(){ } public void ShowDialog(){ } }

public class B:IForm { public void Show(){ } public void ShowDialog(){ } }

public class FormFactory { public static IForm CreateInstance(string parm){

if(parm == “A”){ return new A();else if(parm == “B”)return new B();} return null;} } 這是邏輯的抽象 這是方法的具體 這就是編寫程序的哲學(xué).11.ArcEngine中閃爍目標(biāo)

//閃爍目標(biāo)

public static void FlashFeature(AxMapControl mapControl,IFeature iFeature, IMap iMap){ IActiveView iActiveView = iMap as IActiveView;if(iActiveView!= null){ iActiveView.ScreenDisplay.StartDrawing(0,(short)esriScreenCache.esriNoScreenCache);//根據(jù)幾何類型調(diào)用不同的過(guò)程

switch(iFeature.Shape.GeometryType){ case esriGeometryType.esriGeometryPolyline: FlashLine(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);break;case esriGeometryType.esriGeometryPolygon: FlashPolygon(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);break;case esriGeometryType.esriGeometryPoint: FlashPoint(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);break;default: break;} iActiveView.ScreenDisplay.FinishDrawing();} } //閃爍線

static void FlashLine(AxMapControl mapControl,IScreenDisplay iScreenDisplay,IGeometry iGeometry){ ISimpleLineSymbol iLineSymbol;ISymbol iSymbol;IRgbColor iRgbColor;iLineSymbol = new SimpleLineSymbol();iLineSymbol.Width = 4;iRgbColor = new RgbColor();iRgbColor.Red = 255;iLineSymbol.Color = iRgbColor;iSymbol =(ISymbol)iLineSymbol;iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;mapControl.FlashShape(iGeometry, 3, 200, iSymbol);} //閃爍面

static void FlashPolygon(AxMapControl mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry){ ISimpleFillSymbol iFillSymbol;ISymbol iSymbol;IRgbColor iRgbColor;iFillSymbol = new SimpleFillSymbol();iFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;iFillSymbol.Outline.Width = 12;iRgbColor = new RgbColor();iRgbColor.RGB = System.Drawing.Color.FromArgb(100, 180, 180).ToArgb();iFillSymbol.Color = iRgbColor;iSymbol =(ISymbol)iFillSymbol;iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;iScreenDisplay.SetSymbol(iSymbol);mapControl.FlashShape(iGeometry, 3, 200, iSymbol);} //閃爍點(diǎn)

static void FlashPoint(AxMapControl mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry){ ISimpleMarkerSymbol iMarkerSymbol;ISymbol iSymbol;IRgbColor iRgbColor;iMarkerSymbol = new SimpleMarkerSymbol();iMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;iRgbColor = new RgbColor();iRgbColor.RGB = System.Drawing.Color.FromArgb(0, 0, 0).ToArgb();iMarkerSymbol.Color = iRgbColor;iSymbol =(ISymbol)iMarkerSymbol;iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;mapControl.FlashShape(iGeometry, 3, 200, iSymbol);} 12.創(chuàng)建多個(gè)ArcSDE實(shí)例

編號(hào): 000037 相關(guān)產(chǎn)品及版本: ArcSDE 3.x,8.x,9.0平臺(tái): N/A 提交時(shí)間: 2004-08-23

修改時(shí)間: 2004-08-31 提交人: 吳樂茂 內(nèi)容摘要

有時(shí)候,我們需要有多于一個(gè)的ArcSDE實(shí)例同時(shí)運(yùn)行。只要存在多個(gè)數(shù)據(jù)庫(kù)實(shí)例,就可以實(shí)現(xiàn)這個(gè)目的。ArcSDE與RDBMS之間必須是一個(gè)一一對(duì)應(yīng)的關(guān)系。ArcSDE會(huì)鎖定版本表,以保證每個(gè)數(shù)據(jù)庫(kù)實(shí)例只對(duì)應(yīng)一個(gè)ArcSDE實(shí)例。

過(guò)程描述

對(duì)于Windows:

1.拷貝 %SDEHOME% 到一個(gè)新的位置。

2.用適當(dāng)?shù)腞DBMS連接變量(如RACLE_SID)更新新的dbinit.sde 文件。3.用新的實(shí)例名、端口號(hào)和網(wǎng)絡(luò)協(xié)議更新 %SDEHOME%etcservices.sde文件。

4.添加服務(wù)名、端口號(hào)和網(wǎng)絡(luò)協(xié)議到 WINNTsystem32driversetcservices 文件中。須確認(rèn)所用的端口號(hào)沒有被用過(guò)。5.刪除新的giomgr.log文件中的內(nèi)容。

6.如果需要,更新新的giomgr.defs文件,以指定新實(shí)例的操作參數(shù)。

7.如果需要,更新新的dbtune.sde 文件,以指定參數(shù)給在新實(shí)例的數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)時(shí)使用。

8.確認(rèn)SDEHOME 變量指向正確的新ArcSDE實(shí)例位置,并運(yùn)行給對(duì)應(yīng)數(shù)據(jù)庫(kù)使用的sdesetup 命令來(lái)創(chuàng)建新數(shù)據(jù)的存儲(chǔ)表。9.使用 “sdeservice-o create” 命令創(chuàng)建新的ArcSDE服務(wù)。

對(duì)于UNIX:

1.給新實(shí)例創(chuàng)建一個(gè)新的工作目錄。

2.拷貝 $SDEHOME 到新創(chuàng)建的工作目錄。

3.用適當(dāng)?shù)腞DBMS 連接變量(如ORACLE_SID)更新新的dbinit.sde 文件。4.用新的實(shí)例名、端口號(hào)和網(wǎng)絡(luò)協(xié)議更新 $SDEHOME/etc/services.sde 文件。

5.添加服務(wù)名、端口號(hào)和網(wǎng)絡(luò)協(xié)議到 /etc/services 文件。須確認(rèn)所用的端口號(hào)沒有被用過(guò)。6.刪除新的giomgr.log文件中的內(nèi)容。

7.如果需要,更新新的giomgr.defs文件,以指定新實(shí)例的操作參數(shù)。

8.如果需要,更新新的dbtune.sde 文件,以指定參數(shù)給在新實(shí)例的數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)時(shí)使用。

9.確認(rèn)SDEHOME 變量指向正確的新ArcSDE實(shí)例位置,并運(yùn)行給對(duì)應(yīng)數(shù)據(jù)庫(kù)使用的sdesetup 命令來(lái)創(chuàng)建新數(shù)據(jù)的存儲(chǔ)表。

常用ArcSDE命令 啟動(dòng)cmd 1.創(chuàng)建和刪除ArcSDE服務(wù)操作命令(sdeservice)創(chuàng)建ArcSDE for oracle9i服務(wù) sdeservice-o create-d oracle9i,sid-p sde-i esri_sde 刪除ArcSDE for oracle9i服務(wù) sdeservice-o delete-i esri_sde-d oracle9i,sid 注:-d 后面填寫數(shù)據(jù)庫(kù)類型及其SID sdeservice命令幫助 創(chuàng)建、刪除SDE服務(wù)

2.ArcSDE 服務(wù)操作命令(sdemon)

檢測(cè)服務(wù)狀態(tài)命令: Sdemon-o status-I esri_sde 啟動(dòng)服務(wù)命令: Sdemon-o start-I esri_sde-p sde 停止服務(wù)命令: Sdemon-o shutdown-I esri_sde-p sde Sdemon命令幫助

更多操作命令,請(qǐng)查看路徑“ArcSDEora9iexebin”下的“*.exe”文件

13.空間查詢與空間分析功能

GIS的面向用戶的應(yīng)用功能不僅僅表現(xiàn)在它能提供一些靜態(tài)的查詢、檢索數(shù)據(jù),更有意義的在于用戶可以根據(jù)需要建立一個(gè)應(yīng)用分析的模式,通過(guò)動(dòng)態(tài)的分析,從而為評(píng)價(jià)、管理和決策服務(wù)。這種分析功能可以在系統(tǒng)操作運(yùn)算功能的支持下或建立專門的分析軟件來(lái)實(shí)現(xiàn),如空間信息量測(cè)與分析、統(tǒng)計(jì)分析、地形分析、網(wǎng)絡(luò)分析、疊置分析、緩沖分析、決策支持等。系統(tǒng)本身是否具有建立各種應(yīng)用模型的功能是判別它好壞的重要標(biāo)志之一,因?yàn)檫@種功能在很大程度上決定了該系統(tǒng)在實(shí)際應(yīng)用中的靈活性和經(jīng)濟(jì)效益。

空間查詢和空間分析是從GIS目標(biāo)之間的空間關(guān)系中獲取派生的信息和新的知識(shí),用以回答有關(guān)空間關(guān)系的查詢和應(yīng)用分析。

拓?fù)淇臻g查詢

在此操作中,用戶將地圖當(dāng)作查詢工具,而不僅僅是數(shù)據(jù)載體。空間目標(biāo)之間的拓?fù)潢P(guān)系可以有兩類:一種是幾何元素的結(jié)點(diǎn)、弧段和面塊之間的關(guān)聯(lián)關(guān)系,用以描述和表達(dá)幾何元素間的拓?fù)潢P(guān)系;另一種是GIS中地物之間的空間拓?fù)潢P(guān)系,可以通過(guò)關(guān)聯(lián)關(guān)系和位置關(guān)系隱含表達(dá),用戶需通過(guò)特殊的方法查詢。

這些空間關(guān)系主要有以下幾項(xiàng):面與面的關(guān)系,如檢索與某個(gè)面狀地物相鄰的所有多邊形及屬性;線與線的關(guān)系,如檢索與某一主干河相關(guān)聯(lián)的所有支流;點(diǎn)與點(diǎn)的關(guān)系,如檢索到某點(diǎn)一定距離內(nèi)的所有點(diǎn)狀地物;線與面的關(guān)系,如檢索某公路所經(jīng)過(guò)的所有縣市或某縣市內(nèi)的所有公路;點(diǎn)與線的關(guān)系,如某河流上的所有橋梁;點(diǎn)與面的關(guān)系,如檢索某市所有銀行分布點(diǎn)。

緩沖區(qū)分析

緩沖區(qū)用以確定圍繞某地要素繪出的定寬地區(qū),以滿足一定的分析條件。點(diǎn)的緩沖區(qū)是個(gè)圓餅,線的緩沖區(qū)是個(gè)條帶狀,多邊形的緩沖區(qū)則是個(gè)更大的相似多邊形。緩沖區(qū)分析是GIS中基本的空間分析功能之一,尤其對(duì)于建立影響地帶是必不可少的。如道路規(guī)劃中建立緩沖區(qū)以確定道路兩邊若干距離內(nèi)的土地利用性質(zhì)。

疊加分析

疊加分析提供根據(jù)兩幅或兩幅以上圖層在空間上比較地圖要素和屬性的能力,通常有合成疊加和統(tǒng)計(jì)疊加之分,前者是根據(jù)兩組多邊形邊界的交點(diǎn)建立具有多重屬性的多邊形,后者則進(jìn)行多邊形范圍的屬性特征統(tǒng)計(jì)分析(如圖1-3所示)。合成疊加得到一張新的疊加圖,產(chǎn)生了許多新多邊形,每個(gè)多邊形都具有兩種以上的屬性。統(tǒng)計(jì)疊加的目的是統(tǒng)計(jì)一種要素在另一種要素中的分布特征。

距離分析及相鄰相接分析

距離分析提供了在地圖上距離的功能,相鄰分析確定哪些地圖要素與其它要素相接觸或相鄰,而相接分析則結(jié)合距離和相鄰分析兩者的針對(duì)性,提供確定地圖要素間鄰近或鄰接的功能。相鄰和相接分析廣泛應(yīng)用于環(huán)境規(guī)劃和影響評(píng)價(jià)的公共部門。大多數(shù)GIS軟件目前不能直接進(jìn)行相鄰相接分析,而是通過(guò)先建立一定要求的緩沖區(qū),再與其它圖形要素進(jìn)行疊置分析的間接方法解決。地形分析功能

通過(guò)數(shù)字地形模型DTM,以離散分布的平面點(diǎn)來(lái)模擬連續(xù)分布的地形,再?gòu)闹袃?nèi)插提取各種地形分析數(shù)據(jù),地形分析包括以下內(nèi)容: 等高線分析

等高線圖是人們傳統(tǒng)上觀測(cè)地形的主要手段,可以從等高線上精確地獲得地形的起伏程度,區(qū)域內(nèi)各部分的高程等。透視圖分析

等高線雖然精確,但不夠直觀,用戶往往需要從直觀上觀察地形的概貌,所以GIS通常具有繪制透視圖的功能,有些系統(tǒng)還能在三維空間格網(wǎng)上著色,使圖形更為逼真。坡度坡向分析

在DTM中計(jì)算坡度和坡向,派生出坡度坡向圖供地形分析(如日照分析、土地適宜性分析等)。斷面圖分析

用戶可以在斷面圖上考察該剖面地形的起伏并計(jì)算剖面面積,以便用于工程設(shè)計(jì)和工程量算。

地形表面面積和填挖方體積計(jì)算

利用DTM數(shù)據(jù),可以比較容易地求出所需要地區(qū)的地形表面面積以及施工區(qū)域內(nèi)填挖方的體積(土石方量)。

制圖功能、地理數(shù)據(jù)庫(kù)、空間查詢與空間分析能力是GIS最具有獨(dú)特吸引力所在。而系統(tǒng)是否具有良好的用戶接口和各種應(yīng)用分析程序的支持也是至關(guān)重要的,但是應(yīng)由GIS開發(fā)人員和用戶來(lái)共同完成的。

地理信息系統(tǒng)技術(shù)廣泛應(yīng)用于農(nóng)業(yè)、林業(yè)、國(guó)土資源、地礦、軍事、交通、測(cè)繪、水利、廣播電視、通訊、電力、公安、社區(qū)管理、教育、能源等幾乎所有的行業(yè),并正在走進(jìn)人們?nèi)粘5墓ぷ鳌W(xué)習(xí)和生活中。

地理信息系統(tǒng)的主要任務(wù)是對(duì)與地理空間位置或區(qū)域有關(guān)的社會(huì)經(jīng)濟(jì)、人文景觀、自然資源及環(huán)境等多種信息進(jìn)行綜合管理和分析,主要任務(wù)有以下三個(gè)方面.14.AO中的空間關(guān)系

最近在做AO的一些東西,有些空間關(guān)系讓我搞不太懂,查到一個(gè)東西,還是很好的 名詞解釋:

Boundary(邊界):

只有線和面才有邊界。面的邊界是指組成面的框架線;線的邊界是指線的二個(gè)端點(diǎn)(即起點(diǎn)和終點(diǎn),不包括中間部分的節(jié)點(diǎn));點(diǎn)沒有邊界。Interior(內(nèi)部):

除去邊界后剩下的部分即是一個(gè)要素的內(nèi)部。因此線的內(nèi)部指除去端點(diǎn)后的部分;面的內(nèi)部是指除去框架線后的部分;點(diǎn)的內(nèi)部就是點(diǎn)本身。Exterior(外部):

除去該要素后的剩余的空間范圍即是該要素的外部。空間關(guān)系具體描述(Queryable Spatial Relationships): 示意圖:

空間關(guān)系:

1, esriSpatialRelTouches(鄰接)應(yīng)用范圍:

除點(diǎn)與點(diǎn)之間的關(guān)系外,其它的要素之間都可以具有該關(guān)系。描述:

如果二個(gè)要素有相同的邊界,且它們內(nèi)部不相交的話,稱這二個(gè)要素之間的關(guān)系是鄰接的關(guān)系,圖1-

1、2-

1、3-

1、3-2,注意圖3-3中點(diǎn)與線是包涵的關(guān)系。

當(dāng)查詢要素和被查詢要素具有該關(guān)系時(shí),即spatialRel的值是esriSpatialRelTouches,則會(huì)返回查詢要素。2, esriSpatialRelCrosses(交叉)應(yīng)用范圍:

線與面,線與線等。不能用于面與面(面與面相交部分是面,不能二個(gè)要素中的最高維數(shù)低一),面與點(diǎn),點(diǎn)與線(二個(gè)要素的維數(shù)差2)。描述:

如果二個(gè)要素的相交部分不為空,并且相交部分形狀的維數(shù)比兩個(gè)要素中最高維數(shù)低1(即線面交叉是線,線線交叉是點(diǎn))則稱這二個(gè)要素具有交叉關(guān)系,圖2-

4、4-1,圖2-1中中二條線的關(guān)系屬于鄰接關(guān)系,而不屬于交叉關(guān)系,因?yàn)樗鼈兊膬?nèi)部相交部分為空。當(dāng)查詢要素和被查詢要素具有該關(guān)系時(shí),即spatialRel的值是esriSpatialReCrosses,則會(huì)返回查詢要素。3, esriSpatialRelOverlaps(重疊關(guān)系)應(yīng)用范圍:

線與線,面與面之間,其它的不具有該關(guān)系。描述:

二個(gè)同維的要素之間的相交部分的圖形具有與這二個(gè)要素相同的維數(shù)的,且不與任何一個(gè)要素完全相同,則稱這二個(gè)要素重疊。圖1-

2、2-2均是重疊關(guān)系,但是2-3中的二條線不是重疊關(guān)系,因?yàn)橄嘟坏牟糠峙c黃色的線完全相同。

當(dāng)查詢要素和被查詢要素具有該關(guān)系時(shí),即spatialRel的值是esriSpatialRelOverlaps,則會(huì)返回查詢要素。4,esriSpatialRelWithin和esriSpatialRelContains(包涵)應(yīng)用范圍:

所有要素類之間均具有該關(guān)系。描述:

該關(guān)系可細(xì)分為一個(gè)要素完全位于另一個(gè)要素的內(nèi)部和一個(gè)要素完全包涵另外一個(gè)要素,它們是相對(duì)的關(guān)系。如果說(shuō)要素1完全位于要素2的內(nèi)部,則要素2完全包涵要素1。

當(dāng)查詢的要素完全位于被查詢的要素內(nèi)部的話(即spatialRel的值是esriSpatialRelWithin),則返回被查詢的要素;同時(shí)如果查詢的要素完全被被查詢的要素包括時(shí)(即spatialRel的值是esriSpatialRelContains)則返回被查詢的要素。5,esriSpatialRelIntersects(相交)描述:

相交關(guān)系是一個(gè)廣義的關(guān)系,包括上述4種關(guān)系。因此如果spatialRel的值是esriSpatialRelIntersects關(guān)系的話,只要查詢要素和被查詢要素之間滿足上述四種空間關(guān)系的任一種空間關(guān)系,即可返回被查詢的要素。6,esriSpatialRelRelate 描述:

需要通過(guò)SpatialRelDescription屬性對(duì)二個(gè)要素的空間關(guān)系進(jìn)行定制,可以對(duì)二個(gè)要素的內(nèi)部,外部,邊界之間的相交的情況進(jìn)行描述,例如:字符串'****T***'代表的是二個(gè)要素共享邊界。

15.ArcGIS Engine 中的相交分析的實(shí)現(xiàn)

在ArcGIS Engine中實(shí)現(xiàn)點(diǎn)和面進(jìn)行相交分析,應(yīng)該是用IBasicGeoprocessor.Intersect方法,不知道對(duì)不對(duì)啊?

用點(diǎn)和面進(jìn)行相交分析,主要目的是為了確定點(diǎn)在哪個(gè)區(qū)域內(nèi)!比如可以用一個(gè)井的點(diǎn)圖層和一個(gè)行政區(qū)劃的面圖層進(jìn)行相交分析,得到的是一個(gè)井的點(diǎn)圖層,而此圖層的屬性包含了兩個(gè)圖層的屬性,從而通過(guò)對(duì)屬性表的查詢,來(lái)確定在某個(gè)區(qū)域內(nèi)井的個(gè)數(shù)等等信息。以下代碼編譯通過(guò),但是在運(yùn)行時(shí),就報(bào)錯(cuò),說(shuō)是參數(shù)錯(cuò)誤,各位幫忙看看,謝謝!1

private void M_OverLayer_Click(object sender, System.EventArgs e)2

{ 3

try 4

{ 5

//分析層

ILayer pLayer=this.axMapControl1.get_Layer(0);7

IFeatureLayer pInputFeatLayer=pLayer as IFeatureLayer;

ITable pInputTable=pLayer as ITable;9

IFeatureClass pInputFeatClass=pInputFeatLayer.FeatureClass;10 11

15

21

26

31

//疊加表

pLayer=this.axMapControl1.get_Layer(1);ITable pOverlayTable=pLayer as ITable;//疊加分析表

IFeatureClassName pFeatClassName=new FeatureClassNameClass();pFeatClassName.FeatureType=esriFeatureType.esriFTSimple;pFeatClassName.ShapeFieldName=“shape”;pFeatClassName.ShapeType=pInputFeatClass.ShapeType;//工作空間名稱

IWorkspaceName pNewWSName=new WorkspaceNameClass();pNewWSName.WorkspaceFactoryProgID = “esriDataSourcesFile.ShapefileWorkspaceFactory”;pNewWSName.PathName = @“C:temp”;//數(shù)據(jù)集名稱

IDatasetName pDatasetName=pFeatClassName as IDatasetName;pDatasetName.Name=“ss”;pDatasetName.WorkspaceName=pNewWSName;//幾何處理

IBasicGeoprocessor pBGP=new BasicGeoprocessorClass();IFeatureClass pOutputFeatClass=pBGP.Intersect(pInputTable,false,pOverlayTable,false,0.01,pFeatClassName);

//輸出要素層設(shè)置

IFeatureLayer pOutputFeatLayer=new FeatureLayerClass();37

pOutputFeatLayer.FeatureClass=pOutputFeatClass;38

pOutputFeatLayer.Name=pOutputFeatClass.AliasName;39 40

this.axMapControl1.AddLayer((ILayer)pOutputFeatClass,0);41

axMapControl1.Update();42

} 43

catch(Exception ex)44

{ 45

MessageBox.Show(ex.Message);46

} 47

} 16.GIS基本概念集錦

1、地理信息系統(tǒng)(geographic information system,即gis)——一門集計(jì)算機(jī)科學(xué)、信息學(xué)、地理學(xué)等多門科學(xué)為一體的新興學(xué)科,它是在計(jì)算機(jī)軟件和硬件支持下,運(yùn)用系統(tǒng)工程和信息科學(xué)的理論,科學(xué)管理和綜合分析具有空間內(nèi)涵的地理數(shù)據(jù),以提供對(duì)規(guī)劃、管理、決策和研究所需信息的空間信息系統(tǒng)。gis有以下子系統(tǒng):數(shù)據(jù)輸入子系統(tǒng),數(shù)據(jù)存儲(chǔ)和檢索子系統(tǒng),數(shù)據(jù)操作和分析子系統(tǒng),報(bào)告子系統(tǒng).信息系統(tǒng)

非空間的 空間的

管理信息系統(tǒng) 非地理學(xué)的 gis cad/cam 其他gis lis 社會(huì)經(jīng)濟(jì),人口普查 基于非地塊,基于地塊的2、比較gis與cad、cac間的異同。

cad——計(jì)算機(jī)輔助設(shè)計(jì),規(guī)則圖形的生成、編輯與顯示系統(tǒng),與外部描述數(shù)據(jù)無(wú)關(guān)。cac——計(jì)算機(jī)輔助制圖,適合地圖制圖的專用軟件,缺乏空間分析能力。

gis——地理信息系統(tǒng),集規(guī)則圖形與地圖制圖于一身,且有較強(qiáng)的空間分析能力。

3、圖層:將空間信息按其幾何特征及屬性劃分成的專題。

4、地理數(shù)據(jù)采集——實(shí)地調(diào)查、采樣;傳統(tǒng)的測(cè)量方法,如三角測(cè)量法、三邊測(cè)量法;全球定位系統(tǒng)(gps);現(xiàn)代遙感技術(shù);生物遙測(cè)學(xué);數(shù)字?jǐn)z影技術(shù);人口普查。

5、信息范例——傳統(tǒng)的制圖方法,稱為信息范例,即假定地圖本身是一個(gè)最終產(chǎn)品,通過(guò)使用符號(hào)、分類限制的選擇等方式交換空間信息的模式。這個(gè)范例是傳統(tǒng)的透視圖方法,由于原始而受到很多限制,地圖用戶不能輕易獲得預(yù)分類數(shù)據(jù)。也就是說(shuō),用戶只限于處理最終產(chǎn)品,而無(wú)法將數(shù)據(jù)重組為更有效的形式以適應(yīng)環(huán)境或需求的變化。

6、分析范例(整體范例)——存儲(chǔ)保存原始數(shù)據(jù)的屬性數(shù)據(jù),可根據(jù)用戶的需求進(jìn)行數(shù)據(jù)的顯示、重組和分類。整體范例是一種真正的用于制圖學(xué)和地理學(xué)的整體方法。

7、柵格——柵格結(jié)構(gòu)是最簡(jiǎn)單最直接的空間數(shù)據(jù)結(jié)構(gòu),是指將地球表面劃分為大小均勻緊密相鄰的網(wǎng)格陣列,每個(gè)網(wǎng)格作為一個(gè)象元或象素由行、列定義,并包含一個(gè)代碼表示該象素的屬性類型或量值,或僅僅包括指向其屬性記錄的指針。因此,柵格結(jié)構(gòu)是以規(guī)則的陣列來(lái)表示空間地物或現(xiàn)象分布的數(shù)據(jù)組織,組織中的每個(gè)數(shù)據(jù)表示地物或現(xiàn)象的非幾何屬性特征。特點(diǎn):屬性明顯,定位隱含,即數(shù)據(jù)直接記錄屬性本身,而所在的位置則根據(jù)行列號(hào)轉(zhuǎn)換為相應(yīng)的坐標(biāo),即定位是根據(jù)數(shù)據(jù)在數(shù)據(jù)集中的位置得到的,在柵格結(jié)構(gòu)中,點(diǎn)用一個(gè)柵格單元表示;線狀地物用沿線走向的一組相鄰柵格單元表示,每個(gè)柵格單元最多只有兩個(gè)相鄰單元在線上;面或區(qū)域用記有區(qū)域?qū)傩缘南噜彇鸥駟卧募媳硎荆總€(gè)柵格單元可有多于兩個(gè)的相鄰單元同屬一個(gè)區(qū)域。

8、矢量——它假定地理空間是連續(xù),通過(guò)記錄坐標(biāo)的方式盡可能精確地表示點(diǎn)、線、多邊形等地理實(shí)體,坐標(biāo)空間設(shè)為連續(xù),允許任意位置、長(zhǎng)度和面積的精確定義。對(duì)于點(diǎn)實(shí)體,矢量結(jié)構(gòu)中只記錄其在特定坐標(biāo)系下的坐標(biāo)和屬性代碼;對(duì)于線實(shí)體,用一系列坐標(biāo)對(duì)的連線表示;多邊形是指邊界完全閉合的空間區(qū)域,用一系列坐標(biāo)對(duì)的連線表示。

9、“拓?fù)洹保╰opology)一詞來(lái)源于希臘文,它的原意是“形狀的研究”。拓?fù)鋵W(xué)是幾何學(xué)的一個(gè)分支,它研究在拓?fù)渥儞Q下能夠保持不變的幾何屬性——拓?fù)鋵傩裕ㄍ負(fù)鋵傩裕阂粋€(gè)點(diǎn)在一個(gè)弧段的端點(diǎn),一個(gè)點(diǎn)在一個(gè)區(qū)域的邊界上;非拓?fù)鋵傩裕簝牲c(diǎn)之間的距離,弧段的長(zhǎng)度,區(qū)域的周長(zhǎng)、面積)。這種結(jié)構(gòu)應(yīng)包括:唯一標(biāo)識(shí),多邊形標(biāo)識(shí),外包多邊形指針,鄰接多邊形指針,邊界鏈接,范圍(最大和最小x、y坐標(biāo)值)。地理空間研究中三個(gè)重要的拓?fù)涓拍睿?)連接性:弧段在結(jié)點(diǎn)處的相互聯(lián)接關(guān)系;(2)多邊形區(qū)域定義:多個(gè)弧段首尾相連構(gòu)成了多邊形的內(nèi)部區(qū)域;(3)鄰接性:通過(guò)定義弧段的左右邊及其方向性來(lái)判斷弧段左右多邊形的鄰接性。

10、矢量的實(shí)體錯(cuò)誤——偽節(jié)點(diǎn):即需要假節(jié)點(diǎn)進(jìn)行識(shí)別的節(jié)點(diǎn),發(fā)生在線和自身相連接的地方(如島狀偽結(jié)點(diǎn)——顯示存在一個(gè)島狀多邊形,這個(gè)多邊形處于另一個(gè)更大的多邊形內(nèi)部),或發(fā)生在兩條線沿著平行路徑而不是交叉路徑相交的地方(節(jié)點(diǎn)——表示線與線間連接的特殊點(diǎn))。搖擺結(jié)點(diǎn):有時(shí)稱為搖擺,來(lái)源于3種可能的錯(cuò)誤類型:閉合失敗的多邊形;欠頭線,即結(jié)點(diǎn)延伸程度不夠,未與應(yīng)當(dāng)連接的目標(biāo)相連;過(guò)頭線,結(jié)點(diǎn)的線超出想與之連接的實(shí)體。碎多邊形:起因于沿共同邊界線進(jìn)行的不良數(shù)字化過(guò)程,在邊界線位置,線一定是不只一次地被數(shù)字化。高度不規(guī)則的國(guó)家邊境線,例如中美洲,特別容易出現(xiàn)這樣的數(shù)字變形。標(biāo)注錯(cuò)誤:丟失標(biāo)注和重復(fù)標(biāo)注。異常多邊形:具有丟失節(jié)點(diǎn)的多邊形。丟失的弧。

11、空間分析方法——

1、空間信息的測(cè)量:線與多邊形的測(cè)量、距離測(cè)量、形狀測(cè)量;

2、空間信息分類:范圍分級(jí)分類、鄰域功能、漫游窗口、緩沖區(qū);

3、疊加分析:多邊形疊加、點(diǎn)與多邊形、線與多邊形;

4、網(wǎng)絡(luò)分析:路徑分析、地址匹配、資源匹配;

5、空間統(tǒng)計(jì)分析:插值、趨勢(shì)分析、結(jié)構(gòu)分析;

6、表面分析:坡度分析、坡向分析、可見度和相互可見度分析。

12、歐拉數(shù)——最通常的空間完整性,即空洞區(qū)域內(nèi)空洞數(shù)量的度量,測(cè)量法稱為歐拉函數(shù),它只用一個(gè)單一的數(shù)描述這些函數(shù),稱為歐拉數(shù)。數(shù)量上,歐拉數(shù)=(空洞數(shù))-(碎片數(shù)-1),這里空洞數(shù)是外部多邊形自身包含的多邊形空洞數(shù)量,碎片數(shù)是碎片區(qū)域內(nèi)多邊形的數(shù)量。有時(shí)歐拉數(shù)是不確定的。

13、函數(shù)距離——描述兩點(diǎn)間距離的一種函數(shù)關(guān)系,如時(shí)間、摩擦、消耗等,將這些用于距離測(cè)量的方法集中起來(lái),稱為函數(shù)距離。

14、曼哈頓距離——兩點(diǎn)在南北方向上的距離加上在東西方向上的距離,即d(i,j)=|xi-xj|+|yi-yj|。對(duì)于一個(gè)具有正南正北、正東正西方向規(guī)則布局的城鎮(zhèn)街道,從一點(diǎn)到達(dá)另一點(diǎn)的距離正是在南北方向上旅行的距離加上在東西方向上旅行的距離因此曼哈頓距離又稱為出租車距離,曼哈頓距離不是距離不變量,當(dāng)坐標(biāo)軸變動(dòng)時(shí),點(diǎn)間的距離就會(huì)不同。

15、鄰域功能——所謂鄰域是指具有統(tǒng)一屬性的實(shí)體區(qū)域或者焦點(diǎn)集中在整個(gè)地區(qū)的較小部分實(shí)體空間。鄰域功能就是在特定的實(shí)體空間中發(fā)現(xiàn)其屬性的一致性。它包括直接鄰域和擴(kuò)展鄰域。

16、緩沖區(qū)分析——是指根據(jù)數(shù)據(jù)庫(kù)的點(diǎn)、線、面實(shí)體基礎(chǔ),自動(dòng)建立其周圍一定寬度范圍內(nèi)的緩沖區(qū)多邊形實(shí)體,從而實(shí)現(xiàn)空間數(shù)據(jù)在水平方向得以擴(kuò)展的空間分析方法。緩沖區(qū)在某種程度上受控于目前存在的摩擦表面、地形、障礙物等,也就是說(shuō),盡管緩沖區(qū)建立在位置的基礎(chǔ)上,但是還有其他實(shí)質(zhì)性的成分。確定緩沖區(qū)距離的四種基本方法:隨機(jī)緩沖區(qū)、成因緩沖區(qū)、可測(cè)量緩沖區(qū)、合法授權(quán)緩沖區(qū)。

17、統(tǒng)計(jì)表面——表面是含有z值的形貌,z值又稱為高度值,它的位置被一系列x和y坐標(biāo)對(duì)定義且在區(qū)域范圍內(nèi)分布。z值也常被認(rèn)為是高程值,但是不必局限于這一種度量。實(shí)際上,在可定義的區(qū)域內(nèi)出現(xiàn)的任意可測(cè)量的數(shù)值(例如,序數(shù)、間隔和比率數(shù)據(jù))都可以認(rèn)為組成了表面。一般使用的術(shù)語(yǔ)是統(tǒng)計(jì)表面,因?yàn)樵诳紤]的范圍內(nèi)z值構(gòu)成了許多要素的統(tǒng)計(jì)學(xué)的表述(robinson et al., 1995)。

18、dem——數(shù)字高程模型(digital elevation model)。地形模型不僅包含高程屬性,還包含其它的地表形態(tài)屬性,如坡度、坡向等。dem通常用地表規(guī)則網(wǎng)格單元構(gòu)成的高程矩陣表示,廣義的dem還包括等高線、三角網(wǎng)等所有表達(dá)地面高程的數(shù)字表示。在地理信息系統(tǒng)中,dem是建立數(shù)字地形模型(digital terrain model)的基礎(chǔ)數(shù)據(jù),其它的地形要素可由dem直接或間接導(dǎo)出,稱為“派生數(shù)據(jù)”,如坡度、坡向。

19、空間插值——空間插值常用于將離散點(diǎn)的測(cè)量數(shù)據(jù)轉(zhuǎn)換為連續(xù)的數(shù)據(jù)曲面,以便與其它空間現(xiàn)象的分布模式進(jìn)行比較,它包括了空間內(nèi)插和外推兩種算法。空間內(nèi)插算法:通過(guò)已知點(diǎn)的數(shù)據(jù)推求同一區(qū)域未知點(diǎn)數(shù)據(jù)。空間外推算法:通過(guò)已知區(qū)域的數(shù)據(jù),推求其它區(qū)域數(shù)據(jù)。20、泰森多邊形——通過(guò)數(shù)學(xué)方法定義、平分點(diǎn)間的空間并以直線相連結(jié),在點(diǎn)狀物體間生成多邊形的方法。

21、線密度——用所有區(qū)域內(nèi)的線的總長(zhǎng)度除以區(qū)域的面積。

22、連通性——連通性是衡量網(wǎng)絡(luò)復(fù)雜性的量度,常用γ指數(shù)和α指數(shù)計(jì)算它。其中,γ指數(shù)等于給定空間網(wǎng)絡(luò)體節(jié)點(diǎn)連線數(shù)與可能存在的所有連線數(shù)之比;α指數(shù)用于衡量環(huán)路,節(jié)點(diǎn)被交替路徑連接的程度稱為α指數(shù),等于當(dāng)前存在的環(huán)路數(shù)與可能存在的最大環(huán)路數(shù)之比。

23、圖形疊加——將一個(gè)被選主題的圖形所表示的專題信息放在另一個(gè)被選主題的圖形所表示的專題信息之上。

24、柵格自動(dòng)疊加——基于網(wǎng)格單元的多邊形疊加是一個(gè)簡(jiǎn)單的過(guò)程,因?yàn)閰^(qū)域是由網(wǎng)格單元組成的不規(guī)則的塊,它共享相同的一套數(shù)值和相關(guān)的標(biāo)注。毫無(wú)疑問(wèn),網(wǎng)格單元為基礎(chǔ)的多邊形疊加缺乏空間準(zhǔn)確性,因?yàn)榫W(wǎng)格單元很大,但是類似于簡(jiǎn)單的點(diǎn)與多邊形和線與多邊形疊加的相同部分,由于它的簡(jiǎn)單性,因此可以獲得較高的靈活程度和處理速度。

25、拓?fù)涫噶刊B加——如何決定實(shí)體間功能上的關(guān)系,如定義由特殊線相連的左右多邊形,定義線段間的關(guān)系去檢查交通流量,或依據(jù)個(gè)別實(shí)體或相關(guān)屬性搜索已選擇實(shí)體。它也為疊加多個(gè)多邊形圖層建立了一種方法,從而確保連結(jié)著每個(gè)實(shí)體的屬性能夠被考慮,并且因此使多個(gè)屬性相結(jié)合的合成多邊形能夠被支持。這種拓?fù)浣Y(jié)果稱作最小公共地理單元(lcgu)。

26、矢量多邊形疊加——點(diǎn)與多邊形和線與多邊形疊加使用的主要問(wèn)題是,線并不總是出現(xiàn)在整個(gè)區(qū)域內(nèi)。解決該問(wèn)題的最強(qiáng)有力的辦法是讓軟件測(cè)定每組線的交叉點(diǎn),這就是所謂的結(jié)點(diǎn)。進(jìn)行矢量多邊形的疊加,其任務(wù)是基本相同的,除了必須計(jì)算重疊交叉點(diǎn)外,還要定義與之相聯(lián)系的多邊形線的屬性。

27、布爾疊加——一種以布爾代數(shù)為基礎(chǔ)的疊加操作。

28、制圖建模——用以指明應(yīng)用命令組合來(lái)回答有關(guān)空間現(xiàn)象問(wèn)題的處理。制圖模型是針對(duì)原始數(shù)據(jù)也包括導(dǎo)出數(shù)據(jù)和中間地圖數(shù)據(jù)進(jìn)行一系列交互有序的地圖操作來(lái)模擬空間決策的處理。

29、地理模型的類型——類似統(tǒng)計(jì)同類的描述性模型和與推理統(tǒng)計(jì)技術(shù)相關(guān)的規(guī)則性模型。

30、常見模型——

1、注重樣式與處理的問(wèn)題長(zhǎng)時(shí)間以來(lái)用于解釋類似農(nóng)業(yè)活動(dòng)與運(yùn)輸成本間的關(guān)系——獨(dú)立狀態(tài)模型。

2、最初為預(yù)測(cè)工業(yè)位置點(diǎn)的空間分布的樣式而設(shè)計(jì)的weber模型,進(jìn)行改進(jìn)后可使參與者尋找最佳商業(yè)和服務(wù)位置——位置-分配模型。

3、建立在吸引力與到潛在市場(chǎng)的距離呈反比這一基礎(chǔ)上的經(jīng)濟(jì)地理模型——重力模型。

4、通過(guò)空間驗(yàn)證思想如今廣泛用于生態(tài)群落,通過(guò)地理空間跟蹤動(dòng)植物運(yùn)動(dòng)——改進(jìn)擴(kuò)散模型。

31、專題地圖——以表現(xiàn)某單一屬性的位置或若干選定屬性之間關(guān)系為主要目的的地圖。專題圖形設(shè)計(jì)的一般程序包括合適的符號(hào)和圖形對(duì)象的選擇、生成和放置,以明確突出研究主題的重要屬性和空間關(guān)系,同時(shí)還要考慮參考系統(tǒng)。gis專題地圖輸出的規(guī)則:不但要有精美的圖形,最重要的是去讀圖、分析地圖和理解地圖。

32、元數(shù)據(jù)——關(guān)于數(shù)據(jù)的數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)內(nèi)容的全面描述,其目的是促進(jìn)數(shù)據(jù)集的高效利用和充分共享。使用元數(shù)據(jù)的理由:性能上,完整性、可擴(kuò)展性、特殊性、安全性;功能上,差錯(cuò)功能、瀏覽功能、程序生成。

33、聚合——將單個(gè)數(shù)據(jù)元素進(jìn)行分類的大量數(shù)字處理過(guò)程。

34、克立金法——依靠地球自然表面隨距離的變化概率而確定高程的一種精確內(nèi)插方法。

35、四叉樹——一種壓縮數(shù)據(jù)結(jié)構(gòu),它把地理空間定量劃分為可變大小的網(wǎng)格,每個(gè)網(wǎng)格具有相同性質(zhì)的屬性。

36、比較工具型地理信息系統(tǒng)和應(yīng)用型地理信息系統(tǒng)的異同。

工具型地理信息系統(tǒng):是一種通用型gis,具有一般的功能和特點(diǎn),向用戶提供一個(gè)統(tǒng)一的操作平臺(tái)。一般沒有地理空間實(shí)體,而是由用戶自己定義。具有很好的二次開發(fā)功能。如:arcinfo、genamap、mapinfo、mapgis、geostar。

應(yīng)用型地理信息系統(tǒng):在較成熟的工具型gis軟件基礎(chǔ)上,根據(jù)用戶的需求和應(yīng)用目的而設(shè)計(jì)的用于解決一類或多類實(shí)際問(wèn)題的地理信息系統(tǒng),它具有地理空間實(shí)體和解決特殊地理空間分布的模型。如lis、cgis、ugis。

37、詳細(xì)描述應(yīng)用型地理信息系統(tǒng)的開發(fā)過(guò)程

1、系統(tǒng)總體設(shè)計(jì):需求和可行性分析、數(shù)據(jù)模型設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、方法設(shè)計(jì)

2、系統(tǒng)軟件設(shè)計(jì):開發(fā)語(yǔ)言、用戶界面、流程、交互

3、程序代碼編寫:投影、數(shù)據(jù)庫(kù)、輸入、編輯

4、系統(tǒng)的調(diào)試與運(yùn)行:α調(diào)試、β調(diào)試

5、系統(tǒng)的評(píng)價(jià)與維護(hù):功能評(píng)價(jià)、費(fèi)用評(píng)價(jià)、效益評(píng)價(jià)

38、空間信息系統(tǒng):以多媒體技術(shù)為依托,以空間數(shù)據(jù)為基礎(chǔ),以虛擬現(xiàn)實(shí)為手段的集空間數(shù)據(jù)的輸入、編輯、存儲(chǔ)、分析和顯示于一體的巨系統(tǒng),體由若干個(gè)子系統(tǒng)組成。

39、地理數(shù)據(jù)測(cè)量標(biāo)準(zhǔn)——命名(對(duì)數(shù)據(jù)命名,允許我們對(duì)把對(duì)象叫什么做出聲明,但不允許對(duì)兩個(gè)命名的對(duì)象進(jìn)行直接比較)、序數(shù)(提供對(duì)空間對(duì)象進(jìn)行邏輯對(duì)比的結(jié)果,但這種對(duì)比僅限于所談?wù)搯?wèn)題的范圍內(nèi))、間隔(可以對(duì)待測(cè)項(xiàng)逐個(gè)賦值,能夠更為精確地估計(jì)對(duì)比物的不同點(diǎn))、比率(用途最廣的測(cè)量數(shù)據(jù)標(biāo)準(zhǔn),它是允許直接比較空間變量的惟一標(biāo)準(zhǔn))。

40、根據(jù)樣本進(jìn)行推理的取樣原則——未取樣位置的數(shù)據(jù)可以從已取樣位置的數(shù)據(jù)中推測(cè)出來(lái);區(qū)域邊界內(nèi)的數(shù)據(jù)可以合并計(jì)算;一組空間單元中的數(shù)據(jù)能夠轉(zhuǎn)換成具有不同空間配置的另外一組空間單元數(shù)據(jù)。常用的方法:內(nèi)插法:當(dāng)有數(shù)值邊界或知道缺失部分兩端數(shù)值;外推法:當(dāng)缺失的數(shù)據(jù)一側(cè)有數(shù)值,而另一側(cè)每一數(shù)值。

17.AE開發(fā)中矢量圖層疊加求交分析

AE開發(fā)中矢量圖層疊加求交分析: AE開發(fā)中,矢量圖層疊加分析需要用到的主要類為BasicGeoprocessor,其主要接口為IBasicGeoprocessor。IBasicGeoprocessor接口提供了基本的空間數(shù)據(jù)處理的方法和屬性,其中包括疊加求交(Interset)和疊加求和(Union)。下面提供疊加求交的開發(fā)實(shí)例: C#+AE9.1疊加求交示例代碼:

private void M_OverLayer_Click(object sender, System.EventArgs e)2

{ 3

try 4

{ 5

//分析層

ILayer pLayer=this.axMapControl1.get_Layer(0);7

IFeatureLayer pInputFeatLayer=pLayer as IFeatureLayer;

ITable pInputTable=pLayer as ITable;9

IFeatureClass pInputFeatClass=pInputFeatLayer.FeatureClass;10 11

//疊加表

pLayer=this.axMapControl1.get_Layer(1);13

ITable pOverlayTable=pLayer as ITable;14 15

//疊加分析表

IFeatureClassName pFeatClassName=new FeatureClassNameClass();17

pFeatClassName.FeatureType=esriFeatureType.esriFTSimple;18

pFeatClassName.ShapeFieldName=“shape”;19

pFeatClassName.ShapeType=pInputFeatClass.ShapeType;20 21

26

31

40

//工作空間名稱

IWorkspaceName pNewWSName=new WorkspaceNameClass();

pNewWSName.WorkspaceFactoryProgID = “esriDataSourcesFile.ShapefileWorkspaceFactory”;

pNewWSName.PathName = @“C:temp”;

//數(shù)據(jù)集名稱

IDatasetName pDatasetName=pFeatClassName as IDatasetName;

pDatasetName.Name=“ss”;

pDatasetName.WorkspaceName=pNewWSName;

//幾何處理

IBasicGeoprocessor pBGP=new BasicGeoprocessorClass();

IFeatureClass pOutputFeatClass=pBGP.Intersect(pInputTable,false,pOverlayTable,false,0.01,pFeatClassName);

//輸出要素層設(shè)置

IFeatureLayer pOutputFeatLayer=new FeatureLayerClass();

pOutputFeatLayer.FeatureClass=pOutputFeatClass;

pOutputFeatLayer.Name=pOutputFeatClass.AliasName;

this.axMapControl1.AddLayer((ILayer)pOutputFeatClass,0);

axMapControl1.Update();} catch(Exception ex){

MessageBox.Show(ex.Message);46

} 47

} 最近在研究ae中實(shí)現(xiàn)overlay的方法,終于發(fā)現(xiàn)了2個(gè)方法。(針對(duì)shapefile)方法一:利用ITopology接口:

void COverlayDlg::Overlay(ILayerPtr inputLayer, ILayerPtr OverlayLayer,IFeatureClassPtr ipNewClass){ int mode=m_modeCombo.GetCurSel();IFeatureLayerPtr ipPutlayer(inputLayer);IFeatureClassPtr ipPutClass;ipPutlayer->get_FeatureClass(&ipPutClass);IFeatureClassPtr ipOutClass;IFeatureLayerPtr ipOverlayer(OverlayLayer);ipOverlayer->get_FeatureClass(&ipOutClass);IQueryFilterPtr ipQF(CLSID_QueryFilter);long number1,number2;ipPutClass->FeatureCount(ipQF,&number1);ipPutClass->FeatureCount(ipQF,&number2);IActiveViewPtr ipView=p_View->m_ctrlMap.GetActiveView();ITopologicalOperatorPtr ipTo;IFeaturePtr ipFeature1,ipFeature2;IGeometryPtr ipGeo1,ipGeo2,ipNew;for(long i=0;i

for(long j=0;j

{

ipPutClass->GetFeature(i,&ipFeature1);

ipOutClass->GetFeature(j,&ipFeature2);

ipFeature1->get_Shape(&ipGeo1);

ipFeature2->get_Shape(&ipGeo2);

ipTo=ipGeo1;

switch(mode)

{

case 0:

ipTo->Intersect(ipGeo2,esriGeometry2Dimension,&ipNew);

break;

case 1:

ipTo->Union(ipGeo2,&ipNew);

break;

case 2:

ipTo->Difference(ipGeo2,&ipNew);

}

IFeaturePtr ipFeature;

ipNewClass->CreateFeature(&ipFeature);

ipFeature->putref_Shape(ipNew);

ipFeature->Store();

}ipView->Refresh();} 這種方法是一個(gè)一個(gè)feature的創(chuàng)建,存入featureclass接口中。方法二:利用IBasicGeoprocess接口 //把第一個(gè)圖層和第0個(gè)圖層疊置 IFeatureLayerPtr ipFeaLay;IFeatureClassPtr ipFeaCls;HRESULT hr;ILayerPtr ipLay;IMapPtr ipMap(m_ctrlMap.GetMap());hr=ipMap->get_Layer(0,&ipLay);

ipFeaLay=ipLay;if(ipFeaLay){

hr=ipFeaLay->get_FeatureClass(&ipFeaCls);

if(FAILED(hr))return;

}

ITablePtr ipInPutTable(ipLay);hr=ipMap->get_Layer(1,&ipLay);ipFeaLay=ipLay;if(ipFeaLay!=0)

hr=ipFeaLay->get_FeatureClass(&ipFeaCls);

ITablePtr ipOverlayTable(ipLay);

hr=ipDatasetName->putref_WorkspaceName(ipWSName);if(FAILED(hr))return;

IBasicGeoprocessorPtr ipBGP(CLSID_BasicGeoprocessor);IFeatureClassPtr ipOutputFeaCls;hr=ipBGP->Intersect(ipInPutTable,VARIANT_FALSE,ipOverlayTable,VARIANT_FALSE,double(0),ipFeaClsName,&ipOutputFeaCls);IFeatureLayerPtr ipOutputFeaLay(CLSID_FeatureLayer);ipOutputFeaLay->putref_FeatureClass(ipOutputFeaCls);BSTR OutFeaClsAliName;hr=ipOutputFeaCls->get_AliasName(&OutFeaClsAliName);if(FAILED(hr))return;hr=ipOutputFeaLay->put_Name(OutFeaClsAliName);if(FAILED(hr))return;hr=ipMap->AddLayer(ipOutputFeaLay);if(FAILED(hr))return;IActiveViewPtr ipAV(ipMap);ipAV->Refresh();18.矢量數(shù)據(jù)分析

地圖疊加:將兩幅數(shù)字化地圖的幾何形狀和屬性結(jié)合在一起,生成輸出地圖的一種屬性數(shù)據(jù)。點(diǎn)與多邊形疊加:一種GIS操作,點(diǎn)狀地圖上的每個(gè)點(diǎn)被賦予點(diǎn)所落入的多邊形內(nèi)的屬性數(shù)據(jù)。

線與多邊形疊加:一種GIS操作,現(xiàn)狀地圖被疊加地圖上的多邊形邊界所分割,輸出地圖上每個(gè)弧段結(jié)合了來(lái)自線狀地圖和所落入多邊形的屬性。

多邊形與多邊形疊加:一種GIS操作,其輸出地圖結(jié)合了來(lái)自輸入地圖和疊加地圖的多邊形邊界,生成一套新的多邊形,每個(gè)新的多邊形攜帶了兩幅地圖的屬性。

緩沖:一種GIS操作,將落在所選地圖要素指定距離之內(nèi)的區(qū)域與之外的區(qū)域分開。相交(Intersect):一種地圖疊加方法,僅保留那些落在輸入地圖和疊加地圖共同范圍的要素。聯(lián)合(Union):保留輸入地圖和疊加地圖全部要素的一種多邊形與多邊形疊加方法。層疊置(Identity):一種地圖疊加方法,僅保留那些落在由輸入地圖定義范圍內(nèi)的要素。模糊容差:用于GIS軟件的距離容差,落在這一指定距離內(nèi)的點(diǎn)和線被強(qiáng)制捕捉到一起。

破碎多邊形:在地圖疊加中沿著兩個(gè)輸入地圖的共同邊界出現(xiàn)的極小多邊形。破碎多邊形往往來(lái)自數(shù)字化誤差。誤差傳遞:由于輸入地圖的誤差造成地圖疊加輸出中誤差的產(chǎn)生。最小制圖單元:由政府機(jī)構(gòu)或組織所指定的最小面積單元。

19.GIS空間信息基本分析方法

www.tmdps.cn 2001-6-29 遠(yuǎn)圖開發(fā)室

地理信息系統(tǒng)(GIS)具有很強(qiáng)的空間信息分析功能,這是區(qū)別于計(jì)算機(jī)地圖制圖系統(tǒng)的顯著特征之一。利用空間信息分析技術(shù),通過(guò)對(duì)原始數(shù)據(jù)模型的觀察和實(shí)驗(yàn),用戶可以獲得新的經(jīng)驗(yàn)和知識(shí),并以此作為空間行為的決策依據(jù)。

空間信息分析的內(nèi)涵極為豐富。作為GIS的核心部分之一,空間信息分析在地理數(shù)據(jù)的應(yīng)用中發(fā)揮著舉足輕重的作用。疊置分析(Overlay Analysis)覆蓋疊置分析是將兩層或多層地圖要素進(jìn)行疊加產(chǎn)生一個(gè)新要素層的操作,其結(jié)果將原來(lái)要素分割生成新的要素,新要素綜合了原來(lái)兩層或多層要素所具有的屬性。也就是說(shuō),覆蓋疊置分析不僅生成了新的空間關(guān)系,還將輸入數(shù)據(jù)層的屬性聯(lián)系起來(lái)產(chǎn)生了新的屬性關(guān)系。覆蓋疊置分析是對(duì)新要素的屬性按一定的數(shù)學(xué)模型進(jìn)行計(jì)算分析,進(jìn)而產(chǎn)生用戶需要的結(jié)果或回答用戶提出的問(wèn)題。1)多邊形疊置

這個(gè)過(guò)程是將兩層中的多邊形要素疊加,產(chǎn)生輸出層中的新多邊形要素,同時(shí)它們的屬性也將聯(lián)系起來(lái),以滿足建立分析模型的需要。一般GIS軟件都提供了三種多邊形疊置:

(1)多邊形之和(UNION):輸出保留了兩個(gè)輸入的所有多邊形。

(2)多邊形之積(INTERSECT):輸出保留了兩個(gè)輸入的共同覆蓋區(qū)域。

(3)多邊形疊合(IDENTITY):以一個(gè)輸入的邊界為準(zhǔn),而將另一個(gè)多邊形與之相匹配,輸出內(nèi)容是第一個(gè)多邊形區(qū)域內(nèi)二個(gè)輸入層所有多邊形。

多邊形疊置是個(gè)非常有用的分析功能,例如,人口普查區(qū)和校區(qū)圖疊加,結(jié)果表示了每一學(xué)校及其對(duì)應(yīng)的普查區(qū),由此就可以查到作為校區(qū)新屬性的重疊普查區(qū)的人口數(shù)。2)點(diǎn)與多邊形疊加

點(diǎn)與多邊形疊加,實(shí)質(zhì)是計(jì)算包含關(guān)系。疊加的結(jié)果是為每點(diǎn)產(chǎn)生一個(gè)新的屬性。例如,井位與規(guī)劃區(qū)疊加,可找到包含每個(gè)井的區(qū)域。3)線與多邊形疊加

將多邊形要素層疊加到一個(gè)弧段層上,以確定每條弧段(全部或部分)落在哪個(gè)多邊形內(nèi)。網(wǎng)絡(luò)分析(Network Analysis)對(duì)地理網(wǎng)絡(luò)(如交通網(wǎng)絡(luò))、城市基礎(chǔ)設(shè)施網(wǎng)絡(luò)(如各種網(wǎng)線、電力線、電話線、供排水管線等)進(jìn)行地理分析和模型化,是地理信息系統(tǒng)中網(wǎng)絡(luò)分析功能的主要目的。網(wǎng)絡(luò)分析是運(yùn)籌學(xué)模型中的一個(gè)基本模型,它的根本目的是研究、籌劃一項(xiàng)網(wǎng)絡(luò)工程如何按排,并使其運(yùn)行效果最好,如一定資源的最佳分配,從一地到另一地的運(yùn)輸費(fèi)用最低等。其基本思想則在于人類活動(dòng)總是趨向于按一定目標(biāo)選擇達(dá)到最佳效果的空間位置。這類問(wèn)題在生產(chǎn)、社會(huì)、經(jīng)濟(jì)活動(dòng)中不勝枚舉,因此研究此類問(wèn)題具有重大意義。網(wǎng)絡(luò)中的基本組成部分和屬性如下:

(1)鏈(Links),網(wǎng)絡(luò)中流動(dòng)的管線,如街道,河流,水管等,其狀態(tài)屬性包括阻力(Impedence)和需求(Demand)。(2)障礙(Barriers),禁止網(wǎng)絡(luò)中鏈上流動(dòng)的點(diǎn)。

(3)拐角點(diǎn)(Turns),出現(xiàn)在網(wǎng)絡(luò)鏈中所有的分割結(jié)點(diǎn)上,狀態(tài)屬性有阻力,如拐彎的時(shí)間和限制(如不允許左拐)。

(4)中心(Centers),是接受或分配資源的位置,如水庫(kù)、商業(yè)中心、電站等,其狀態(tài)屬性包括資源容量,如總的資源量;阻力限額,如中心與鏈之間的最大距離或時(shí)間限制。

(5)站點(diǎn)(Stops),在路徑選擇中資源增減的站點(diǎn),如庫(kù)房、汽車站等,其狀態(tài)屬性有要被運(yùn)輸?shù)馁Y源需求,如產(chǎn)品數(shù)。

網(wǎng)絡(luò)中的狀態(tài)屬性有阻力和需求兩項(xiàng),實(shí)際的狀態(tài)屬性可通過(guò)空間屬性和狀態(tài)屬性的轉(zhuǎn)換,根據(jù)實(shí)際情況賦到網(wǎng)絡(luò)屬性表中。1)路徑分析

(1)靜態(tài)求最佳路徑:由用戶確定權(quán)值關(guān)系后,即給定每條弧段的屬性,當(dāng)需求最佳路徑時(shí),讀出路徑的相關(guān)屬性,求最佳路徑。

(2)動(dòng)態(tài)分段技術(shù):給定一條路徑由多段聯(lián)系組成,要求標(biāo)注出這條路上的公里點(diǎn)或要求定位某一公路上的某一點(diǎn),標(biāo)注出某條路上從某一公里數(shù)到另一公里數(shù)的路段。

(3)N條最佳路徑分析:確定起點(diǎn)、終點(diǎn),求代價(jià)較小的條路徑,因?yàn)樵趯?shí)踐中往往僅求出最佳路徑并不能滿足要求,可能因?yàn)槟撤N因素不走最佳路徑,而走近似最佳路徑。

(4)最短路徑:確定起點(diǎn)、終點(diǎn)和所要經(jīng)過(guò)的中間點(diǎn)、中間連線,求最短路徑。

(5)動(dòng)態(tài)最佳路徑分析:實(shí)際網(wǎng)絡(luò)分析中權(quán)值是隨著權(quán)值關(guān)系式變化的,而且可能會(huì)臨時(shí)出現(xiàn)一些障礙點(diǎn),所以往往需要?jiǎng)討B(tài)地計(jì)算最佳路徑。2)地址匹配

地址匹配實(shí)質(zhì)是對(duì)地理位置的查詢,它涉及到地址的編碼(Geocode)。地址匹配與其它網(wǎng)絡(luò)分析功能結(jié)合起來(lái),可以滿足實(shí)際工作中非常復(fù)雜的分析要求。所需輸入的數(shù)據(jù),包括地址表和含地址范圍的街道網(wǎng)絡(luò)及待查詢地址的屬性值。3)資源分配

資源分配網(wǎng)絡(luò)模型由中心點(diǎn)(分配中心)及其狀態(tài)屬性和網(wǎng)絡(luò)組成。分配有兩種方式,一種是由分配中心向四周輸出,另一種是由四周向中心集中。這種分配功能可以解決資源的有效流動(dòng)和合理分配。其在地理網(wǎng)絡(luò)中的應(yīng)用與區(qū)位論中的中心地理論類似。在資源分配模型中,研究區(qū)可以是機(jī)能區(qū),根據(jù)網(wǎng)絡(luò)流的阻力等來(lái)研究中心的吸引區(qū),為網(wǎng)絡(luò)中的每一連接尋找最近的中心,以實(shí)現(xiàn)最佳的服務(wù)。還可以用來(lái)指定可能的區(qū)域。

資源分配模型可用來(lái)計(jì)算中心地的等時(shí)區(qū),等交通距離區(qū),等費(fèi)用距離區(qū)等。可用來(lái)進(jìn)行城鎮(zhèn)中心,商業(yè)中心或港口等地的吸引范圍分析,以用來(lái)尋找區(qū)域中最近的商業(yè)中心,進(jìn)行各種區(qū)劃和港口腹地的模擬等。緩沖區(qū)分析(Buffer Analysis)緩沖區(qū)分析是針對(duì)點(diǎn)、線、面實(shí)體,自動(dòng)建立其周圍一定寬度范圍以內(nèi)的緩沖區(qū)多邊形。緩沖區(qū)的產(chǎn)生有三種情況:一是基于點(diǎn)要素的緩沖區(qū),通常以點(diǎn)為圓心、以一定距離為半徑的圓;二是基于線要素的緩沖區(qū),通常是以線為中心軸線,距中心軸線一定距離的平行條帶多邊形;三是基于面要素多邊形邊界的緩沖區(qū),向外或向內(nèi)擴(kuò)展一定距離以生成新的多邊形。

緩沖區(qū)分析是地理信息系統(tǒng)重要的空間分析功能之一,它在交通、林業(yè)、資源管理、城市規(guī)劃中有著廣泛的應(yīng)用。例如:湖泊和河流周圍的保護(hù)區(qū)的定界,汽車服務(wù)區(qū)的選擇,民宅區(qū)遠(yuǎn)離街道網(wǎng)絡(luò)的緩沖區(qū)的建立等。空間統(tǒng)計(jì)分析(Spacial Analysis)1)常規(guī)統(tǒng)計(jì)分析

常規(guī)統(tǒng)計(jì)分析主要完成對(duì)數(shù)據(jù)集合的均值、總和、方差、頻數(shù)、峰度系數(shù)等參數(shù)的統(tǒng)計(jì)分析。2)空間自相關(guān)分析

空間自相關(guān)分析是認(rèn)識(shí)空間分布特征、選擇適宜的空間尺度來(lái)完成空間分析的最常用的方法。目前,普遍使用空間自相關(guān)系數(shù)——

MoranI指數(shù),其計(jì)算公式如下:

其中:N表示空間實(shí)體數(shù)目;xi表示空間實(shí)體的屬性值;x是xi的平均值;Wij=1表示空間實(shí)體i與j相鄰,Wij=0表示空間實(shí)體i與j不相鄰I的值介于1與I之間,I=1表示空間自正相關(guān),空間實(shí)體呈聚合分布;I=1表示空間自負(fù)相關(guān),空間實(shí)體呈離散分布;I=0則表示空間實(shí)體是隨機(jī)分布的。Wij表示實(shí)體i與j的空間關(guān)系,它通過(guò)拓?fù)潢P(guān)系獲得。3)回歸分析

回歸分析用于分析兩組或多組變量之間的相關(guān)關(guān)系,常見回歸分析方程有:線性回歸、指數(shù)回歸、對(duì)數(shù)回歸、多元回歸等。4)趨勢(shì)分析

通過(guò)數(shù)學(xué)模型模擬地理特征的空間分布與時(shí)間過(guò)程,把地理要素時(shí)空分布的實(shí)測(cè)數(shù)據(jù)點(diǎn)之間的不足部分內(nèi)插或預(yù)測(cè)出來(lái)。5)專家打分模型

專家打分模型將相關(guān)的影響因素按其相對(duì)重要性排隊(duì),給出各因素所占的權(quán)重值;對(duì)每一要素內(nèi)部進(jìn)行進(jìn)一步分析,按其內(nèi)部的分類進(jìn)行排隊(duì),按各類對(duì)結(jié)果的影響給分,從而得到該要素內(nèi)各類別對(duì)結(jié)果的影響量,最后系統(tǒng)進(jìn)行復(fù)合,得出排序結(jié)果,以表示對(duì)結(jié)果影響的優(yōu)劣程度,作為決策的依據(jù)。

專家打分模型可分二步實(shí)現(xiàn)。第一步——打分:用戶首先在每個(gè)feature的屬性表里增加一個(gè)數(shù)據(jù)項(xiàng),填入專家賦給的相應(yīng)的分值;第二步——復(fù)合:調(diào)用加權(quán)符合程序,根據(jù)用戶對(duì)各個(gè)feature給定的權(quán)重值進(jìn)行疊加,得到最后的結(jié)果。

20.如何判斷圖形間的邏輯運(yùn)算

本小節(jié)以Polyline(Polygon類似)為例, 講解如何判斷圖形間的邏輯關(guān)系,主要用到的接口是IRelationalOperator。

在本例中,使用Relational Operator 對(duì)兩個(gè)圖形進(jìn)行比較,返回一個(gè)布爾值來(lái)指出這兩個(gè)圖形間是否存在特定的關(guān)系。一些關(guān)系的判斷是要求兩個(gè)圖形要有相同的維數(shù)的(如必須Polyline之間或Polygon之間),而另外一些對(duì)圖形維數(shù)就沒有太多限制。大多數(shù)已定義的關(guān)系操作符是互斥的。RelationalOperator的具體方法有:

Contains:判斷一個(gè)圖形是否包含另外一個(gè)圖形。Within:判斷一個(gè)圖形是否被另外一個(gè)圖形所包含。

Crosses:判斷兩個(gè)圖形是否在維數(shù)較少的那個(gè)圖形的內(nèi)部相交。Disjoint:判斷兩個(gè)圖形間是否沒有相同點(diǎn)。

Equals:判斷兩個(gè)圖形是否是同一個(gè)類型并且在平面上的點(diǎn)是否是相同的位置。如果返回值為真,則它們應(yīng)該包含(Contains)另外一個(gè)圖形同時(shí)也被另外一個(gè)圖形所包含(Within)。

Overlaps:判斷兩個(gè)圖形的交集是否和其中的一個(gè)圖形擁有相同的維數(shù),并且他們交集不能和其中任何一個(gè)圖形相等。該方法只使用與兩個(gè)Polyline之間或者兩個(gè)Polygon之間。

Touch:判斷兩個(gè)圖形的邊界是否相交,如果兩個(gè)圖形的交集不為空,但兩個(gè)圖形內(nèi)部的交集為空,則返回值為真。下圖為幾個(gè)圖形的邊界(Boundary)和內(nèi)部(Interior)概念的圖解:

下面針對(duì)較易混淆的兩個(gè)概念,Crosses和Touch進(jìn)行舉例說(shuō)明(Polyline/Polyline):

Crossess Touch Crossess Touch 21.AE中2種方式overlay

最近在研究ae中實(shí)現(xiàn)overlay的方法,終于發(fā)現(xiàn)了2個(gè)方法。(針對(duì)shapefile)方法一:利用ITopology接口:

void COverlayDlg::Overlay(ILayerPtr inputLayer, ILayerPtr OverlayLayer,IFeatureClassPtr ipNewClass){ int mode=m_modeCombo.GetCurSel();IFeatureLayerPtr ipPutlayer(inputLayer);IFeatureClassPtr ipPutClass;ipPutlayer->get_FeatureClass(&ipPutClass);IFeatureClassPtr ipOutClass;IFeatureLayerPtr ipOverlayer(OverlayLayer);ipOverlayer->get_FeatureClass(&ipOutClass);

IQueryFilterPtr ipQF(CLSID_QueryFilter);long number1,number2;ipPutClass->FeatureCount(ipQF,&number1);ipPutClass->FeatureCount(ipQF,&number2);

IActiveViewPtr ipView=p_View->m_ctrlMap.GetActiveView();ITopologicalOperatorPtr ipTo;IFeaturePtr ipFeature1,ipFeature2;IGeometryPtr ipGeo1,ipGeo2,ipNew;for(long i=0;i

for(long j=0;j

{

ipPutClass->GetFeature(i,&ipFeature1);

ipOutClass->GetFeature(j,&ipFeature2);

ipFeature1->get_Shape(&ipGeo1);

ipFeature2->get_Shape(&ipGeo2);

ipTo=ipGeo1;

switch(mode)

{

case 0:

ipTo->Intersect(ipGeo2,esriGeometry2Dimension,&ipNew);

break;

case 1:

ipTo->Union(ipGeo2,&ipNew);

break;

case 2:

ipTo->Difference(ipGeo2,&ipNew);

}

IFeaturePtr ipFeature;

ipNewClass->CreateFeature(&ipFeature);

ipFeature->putref_Shape(ipNew);

ipFeature->Store();

} ipView->Refresh();} 這種方法是一個(gè)一個(gè)feature的創(chuàng)建,存入featureclass接口中。

方法二:利用IBasicGeoprocess接口

//把第一個(gè)圖層和第0個(gè)圖層疊置

IFeatureLayerPtr ipFeaLay;IFeatureClassPtr ipFeaCls;HRESULT hr;

ILayerPtr ipLay;IMapPtr ipMap(m_ctrlMap.GetMap());hr=ipMap->get_Layer(0,&ipLay);

ipFeaLay=ipLay;if(ipFeaLay){

hr=ipFeaLay->get_FeatureClass(&ipFeaCls);

if(FAILED(hr))return;

}

ITablePtr ipInPutTable(ipLay);hr=ipMap->get_Layer(1,&ipLay);

ipFeaLay=ipLay;if(ipFeaLay!=0)

hr=ipFeaLay->get_FeatureClass(&ipFeaCls);

ITablePtr ipOverlayTable(ipLay);

hr=ipDatasetName->putref_WorkspaceName(ipWSName);if(FAILED(hr))return;

IBasicGeoprocessorPtr ipBGP(CLSID_BasicGeoprocessor);IFeatureClassPtr ipOutputFeaCls;hr=ipBGP->Intersect(ipInPutTable,VARIANT_FALSE,ipOverlayTable,VARIANT_FALSE,double(0),ipFeaClsName,&ipOutputFeaCls);

IFeatureLayerPtr ipOutputFeaLay(CLSID_FeatureLayer);ipOutputFeaLay->putref_FeatureClass(ipOutputFeaCls);BSTR OutFeaClsAliName;hr=ipOutputFeaCls->get_AliasName(&OutFeaClsAliName);if(FAILED(hr))return;hr=ipOutputFeaLay->put_Name(OutFeaClsAliName);if(FAILED(hr))return;hr=ipMap->AddLayer(ipOutputFeaLay);if(FAILED(hr))return;IActiveViewPtr ipAV(ipMap);ipAV->Refresh();

22.ArcEngine中實(shí)現(xiàn)捕捉功能

捕捉功能主要使用ArcEngine中的兩個(gè)接口

1.IHitTest用于作點(diǎn)擊測(cè)試

2.IFeatureCache 用于建立做緩存

由于數(shù)據(jù)庫(kù)中有多個(gè)FeatureClass,而每個(gè)FeatureClass又可以做多種點(diǎn)擊測(cè)試 所以這里有會(huì)有好幾種捕捉方案。

我們稱呼每一個(gè)可以執(zhí)行捕捉的對(duì)象叫捕捉代理,所有的代理在一個(gè)捕捉環(huán)境中 方案1:每個(gè)代理負(fù)責(zé)測(cè)試一種FeatureClass的一種點(diǎn)擊方式 方案2:每個(gè)代理負(fù)責(zé)測(cè)試一種FeatureClass的所有點(diǎn)擊方式 方案3:一代理負(fù)責(zé)測(cè)試所有的FeatureClass的一種點(diǎn)擊方式 方案4:一個(gè)代理負(fù)責(zé)測(cè)試所有FeatureClass的所有點(diǎn)擊方式

在實(shí)際使用過(guò)程中 我們使用的是第一種方案。但是我個(gè)人認(rèn)為第二種方案比較好。當(dāng)然這只是個(gè)人推測(cè) 沒有測(cè)試數(shù)據(jù)證明。

下面給出第一種方案的代碼: ///

/// IFeatureSnapAgent 的摘要說(shuō)明。

///

public interface IFeatureSnapAgent:ISnapAgent,ISnapAgentFeedback {

IFeatureCache FeatureCache

{

get;

}

IFeatureClass FeatureClass

{

get;

set;

}

esriGeometryHitPartType HitPartType

{

get;

set;

}

///

/// 為捕捉連接事件,當(dāng)捕捉發(fā)生的時(shí)候,就會(huì)觸發(fā)事件。

///

///

void AddSnapedEventHandler(GeometrySnapedEventHandler handler);

///

/// 不再監(jiān)聽捕捉事件

///

///

void RemoveSnapedEventHandler(GeometrySnapedEventHandler handler);} ///

/// 默認(rèn)的要素捕捉代理

///

public class DefaultFeatureSnapAgent :IFeatureSnapAgent,IEditEvents,ESRI.ArcGIS.esriSystem.IPersistVariant

{

#region 構(gòu)造函數(shù)

///

/// 為代理指定別名。注意該代理目前還沒有關(guān)聯(lián)到任何目標(biāo)FeatureClass

/// 要使得該代理起作用,必須要為他設(shè)置FeatureClass.///

///

名稱(請(qǐng)確保唯一)

public DefaultFeatureSnapAgent(string name):this(name,null)

{

}

///

/// 將使用該FeatureClass的別名做代理的名稱

///

///

public DefaultFeatureSnapAgent(IFeatureClass feaClass):this(feaClass.AliasName,feaClass)

{

}

///

/// 完全初始化捕捉代理

///

///

名稱(請(qǐng)確保唯一)

///

目標(biāo)FeatureClass

public DefaultFeatureSnapAgent(string name,IFeatureClass feaClass)

{

m_snapAgentName=name;

m_bCacheHasCreated=false;

m_hitPartType=esriGeometryHitPartType.esriGeometryPartNone;

this.m_isSnapWorking=true;

this.m_featureClass=feaClass;

this.m_snapFeedbackText="";

}

#endregion

#region IFeatureSnapAgent 成員

private event GeometrySnapedEventHandler

m_snapSubsciber;

///

/// FeatureClass緩沖區(qū)。

///

private IFeatureCache m_featureCache;

///

/// 該代理將捕捉在該FeatureClass上的Feature.和Geometry

///

private IFeatureClass m_featureClass;

///

/// 點(diǎn)擊測(cè)試的有效類型。

///

protected esriGeometryHitPartType m_hitPartType;

///

/// 緩沖區(qū)對(duì)象是否已經(jīng)被創(chuàng)建了。跟是否建立了緩沖沒有關(guān)系。

///

private bool

m_bCacheHasCreated;

///

/// 緩沖區(qū)對(duì)象

///

public IFeatureCache FeatureCache

{

get

{

return m_featureCache;

}

}

///

第二篇:開發(fā)總結(jié)

西博會(huì)總結(jié)

一. 提倡的地方

1. 數(shù)據(jù)方面:

利用Toad Data Modeler來(lái)設(shè)計(jì)數(shù)據(jù)模型;能夠非常清晰方便的了解整個(gè)系統(tǒng)表和表之間的關(guān)系。

整個(gè)項(xiàng)目的過(guò)程中,一直安排一個(gè)人來(lái)維護(hù)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)模型。2.開發(fā)方面:

在項(xiàng)目周期相對(duì)比較短的情況下,可以分版本開發(fā),每個(gè)版本完成一部分功能。我覺得這種方式值得提倡。

二. 改進(jìn)的地方:

1.數(shù)據(jù)庫(kù)方面:

西博會(huì)系統(tǒng)設(shè)計(jì)的最初,所有表的主鍵都是由數(shù)據(jù)的序列自動(dòng)產(chǎn)生的。開發(fā)工程中,程序員之間并沒有完全按照數(shù)據(jù)模型中的序列名來(lái)生成表的主鍵,導(dǎo)致了一個(gè)表有多個(gè)序列來(lái)生成主鍵,從而產(chǎn)生了數(shù)據(jù)庫(kù)主鍵唯一的沖突。2.開發(fā)方面:

西博會(huì)整個(gè)系統(tǒng)大部分都是前臺(tái)的工作,尤其像表單。每提交一份表單就得在前臺(tái)寫一套驗(yàn)證規(guī)則,這樣重復(fù)性的工作很大。可以考慮將一些公共的驗(yàn)證規(guī)則在項(xiàng)目開始之初就提取出來(lái),這樣可以減少很大一部分工作,而且也便于后期維護(hù)。

第三篇:開發(fā)輪崗總結(jié)

開發(fā)部輪崗總結(jié)

到公司報(bào)到的第一天,知道了自己的輪崗安排,第一個(gè)月在開發(fā)部,第二個(gè)月在銷售策劃部,是專業(yè)類輪崗安排。

上班的第一天,我主動(dòng)請(qǐng)求周總安排我在開發(fā)部輪崗期間的工作任務(wù)。知道我是新人,對(duì)開發(fā)部的業(yè)務(wù)還未了解,周總先耐心地給我講解相關(guān)業(yè)務(wù)流程,接著幫我細(xì)分為6個(gè)步驟進(jìn)行學(xué)習(xí)。主線是“看資料熟悉流程”,“六步走”分別是:①項(xiàng)目概況,要對(duì)富力城這個(gè)項(xiàng)目有大致的了解,只有知道項(xiàng)目情況后,才能制定開發(fā)報(bào)建計(jì)劃,才能更好展開工作;②開發(fā)項(xiàng)目建設(shè)計(jì)劃,就是時(shí)間計(jì)劃,每個(gè)在建項(xiàng)目都有時(shí)間控制節(jié)點(diǎn),清楚各個(gè)時(shí)間節(jié)點(diǎn),有利于開發(fā)報(bào)建工作的展開和順利完成;③開發(fā)報(bào)建大流程,我們知道開發(fā)需辦五大證:國(guó)有土地使用證、建設(shè)用地規(guī)劃許可證、建設(shè)工程規(guī)劃許可證、建設(shè)工程施工許可證、商品預(yù)售許可證,開發(fā)主要分規(guī)劃類和市政類,報(bào)建的工作會(huì)結(jié)合工程進(jìn)度要求、銷售進(jìn)度要求;④辦事流程,這是一份“秘籍”,周總在20年從事開發(fā)工作經(jīng)驗(yàn)的基礎(chǔ)上整理出來(lái)的一份辦事指引,里面詳細(xì)介紹了給規(guī)劃、市政專業(yè)類報(bào)建工作介入的時(shí)間節(jié)點(diǎn),報(bào)建審批需提交的資料以及大體上的辦事流程;⑤綜合管網(wǎng)和市政臺(tái)帳,綜合管網(wǎng)是各類管線綜合圖,包括給水管線、排水管線、燃?xì)夤芫€、雨水管線等,搞市政開發(fā)要學(xué)會(huì)看綜合管網(wǎng)圖,市政臺(tái)帳是便攜式工作計(jì)劃表,能夠清晰的顯示近期的工作安排以及 相關(guān)工作的完成情況;⑥個(gè)人工作節(jié)點(diǎn),在熟悉開發(fā)部的工作內(nèi)容之后,結(jié)合個(gè)人辦事能力和習(xí)慣,學(xué)會(huì)制作自己的工作臺(tái)帳,結(jié)合工程進(jìn)度要求,倒排工作計(jì)劃。

根據(jù)周總給出的工作安排指引,同時(shí)也結(jié)合專業(yè)類輪崗任務(wù)書,我制定出了輪崗學(xué)習(xí)階段性的工作計(jì)劃,概括了自己在開發(fā)部輪崗一個(gè)月需要完成的“工作任務(wù)”,第一個(gè)月的輪崗學(xué)習(xí)就圍繞這個(gè)工作計(jì)劃展開。制訂月度總控計(jì)劃后,新的問(wèn)題又出來(lái)了,要如何落實(shí)到每一周每一天呢?這個(gè)時(shí)候,公司的一個(gè)制度——周報(bào)便派上用場(chǎng)了,周報(bào)即總結(jié)了上一周工作任務(wù)的完成情況,又對(duì)下一周工作任務(wù)做出更為細(xì)致的安排。所以在月工作計(jì)劃的大框架下又制定了周報(bào),將這一個(gè)月的學(xué)習(xí)任務(wù)合理地、可行地安排到每一周去,通過(guò)合理地制定計(jì)劃,自己就可以更好的把握第一個(gè)月的學(xué)習(xí)任務(wù)進(jìn)度和完成情況。工作計(jì)劃制訂了之后,要做的就是按照計(jì)劃去執(zhí)行。第一個(gè)星期,我給自己定的目標(biāo)是用一周的時(shí)間,采用前面說(shuō)到的“六步走”策略,從整體上去了解熟悉開發(fā)部的相關(guān)工作,由開始的項(xiàng)目概況到專業(yè)報(bào)建工作都要去學(xué)習(xí)的。一個(gè)星期下來(lái),總的感覺就是累而充實(shí),這里所說(shuō)的累不是指上班很辛苦、身體很勞累,而是指大腦的疲勞。在學(xué)習(xí)的過(guò)程中,可以發(fā)現(xiàn)開發(fā)部的工作事項(xiàng)是很多的,一個(gè)項(xiàng)目從頭到尾,我們需要辦證、報(bào)建、驗(yàn)收等等,而且有些工作還是很繁瑣的,非常考驗(yàn)?zāi)托浴G拜厒兛偨Y(jié)以往工作經(jīng)驗(yàn)整理出來(lái)的資料有厚厚的幾百頁(yè)紙,作為“插班生”的我首要任務(wù)就是仔細(xì)閱讀這些文案資料,只有了解了這個(gè)班集體,認(rèn)真學(xué)習(xí)班集體的各項(xiàng)工作內(nèi)容,知道我們的工作有幾個(gè)業(yè)務(wù)模塊、每個(gè)業(yè)務(wù)模塊的具體工作內(nèi)容是什么之后,才能更好地融入到這個(gè)集體中去。

通過(guò)第一個(gè)星期的學(xué)習(xí),對(duì)開發(fā)部的工作有大概的了解。為此,在查看資料之余,有時(shí)也作為學(xué)習(xí)人員跟著部門前輩外出辦事,在實(shí)踐的過(guò)程中體驗(yàn)開發(fā)報(bào)建。通過(guò)這種實(shí)踐性的學(xué)習(xí),可以給自己反饋出很多問(wèn)題,帶給自己一些思考。最直接的就是一堆資料看完之后自己消化了多少,體現(xiàn)出對(duì)業(yè)務(wù)的真正了解程度。另外,在外出辦事的過(guò)程中,前輩會(huì)跟我交流很多,傳授他們自己的工作經(jīng)驗(yàn)和感悟。我不是一個(gè)擅長(zhǎng)交談的人,但在有限的交流中也學(xué)到了很多,在公司上班與在學(xué)校讀書是有很大區(qū)別的,工作也會(huì)有不順心的事,但不能像在學(xué)校那樣不順心了就可以什么不做、不順心了就不理會(huì)其他人,我們?cè)谒枷肷喜荒茉儆幸郧皩W(xué)生時(shí)代那種“壞”想法了,要有一個(gè)好的心態(tài)。作為一個(gè)新人,更多得應(yīng)該展現(xiàn)出自己獨(dú)特的優(yōu)點(diǎn),不要過(guò)早的“淪陷”在社會(huì)的大熔爐中,給公司注入真正意義上的新鮮血液。前輩的經(jīng)驗(yàn)感悟,值得新人學(xué)習(xí)的道理還有很多,這里不一一贅述了,說(shuō)多了反而成為空談。

舉個(gè)例子說(shuō),之前現(xiàn)場(chǎng)參與了市政DN400管接駁工程施工驗(yàn)收,是由我通知工程部的范工,簡(jiǎn)單的小事也能體現(xiàn)辦事技巧和學(xué)問(wèn),通知的語(yǔ)言表達(dá)的條理性及合理性都是自己應(yīng)該考慮的問(wèn)題。還有一次是跟著去住建局開會(huì),誠(chéng)實(shí)地說(shuō)整個(gè)會(huì)議下來(lái)沒聽懂多少,沒有抓住討論的核心問(wèn)題,這就說(shuō)明自己對(duì)業(yè)務(wù)仍不夠熟悉,對(duì)報(bào)建的工作進(jìn)度沒有一個(gè)整體上的把握。反思過(guò)后,清楚地知道自己還有很多東西要去學(xué)習(xí),事多事難不足懼,關(guān)鍵是要知道如何開始著手去做。但同時(shí)也必須告誡自己,不能盲目,做事不能操之過(guò)急,自己先主動(dòng)思考,找到問(wèn)題再主動(dòng)快速出擊。我想這也就是杰哥告訴我的:心態(tài)要慢,動(dòng)作要快的吧。

細(xì)節(jié)決定成敗。8月12日,第一次參加部門例會(huì),此次會(huì)議主要是對(duì)前期工作中遇到并存在的問(wèn)題予于解決,以及對(duì)后續(xù)工作進(jìn)行合理安排。這次的會(huì)議紀(jì)要是由我這個(gè)菜鳥來(lái)整理,后來(lái)周總夸我會(huì)議紀(jì)要做得好,可功勞不是我一個(gè)人的。在提交給周總之前我請(qǐng)教前輩們很多次,他們提出了很多很好的修改意見。直到我呈報(bào)給周總,還是存在不少問(wèn)題,也提出了一些修改意見,這足以說(shuō)明周總的要求是多么嚴(yán)格,語(yǔ)言表達(dá)的準(zhǔn)確性,文字、文本格式,標(biāo)點(diǎn)符號(hào)等等都必須追求標(biāo)準(zhǔn)化。這些就是細(xì)節(jié),就是簡(jiǎn)單的一次會(huì)議紀(jì)要整理,細(xì)細(xì)的思考,可以發(fā)現(xiàn)有很多值得學(xué)習(xí)。很明顯的,你可以學(xué)到如何去做會(huì)議紀(jì)要,對(duì)文字性的東西要對(duì)自己提出怎樣的要求才是高標(biāo)準(zhǔn),更為重要的是,可以從中體會(huì)工作的態(tài)度——細(xì)致,曾經(jīng)的一位老師說(shuō)過(guò),將平凡的事做到極致就是偉大,對(duì)于這點(diǎn)自己還遠(yuǎn)遠(yuǎn)達(dá)不到要求。

一個(gè)月的時(shí)間太短,時(shí)間又總是過(guò)的太快,開發(fā)部的輪崗學(xué)習(xí)步入尾聲,回顧之前制作的輪崗學(xué)習(xí)工作計(jì)劃表,這一個(gè)月就是緊緊圍繞它展開學(xué)習(xí)開發(fā)報(bào)建的業(yè)務(wù)知識(shí),相對(duì)來(lái)說(shuō)對(duì)部門工作有了比較全面的了解。從表中可以看出,除了針對(duì)部門的學(xué)習(xí)任務(wù)之外,也安排了其他的學(xué)習(xí)任務(wù),我認(rèn)為在很多方面自己都需要去學(xué)習(xí)、去了解的,剛步入職場(chǎng),先把自己掏空,才能學(xué)到更多。同時(shí)在這里也對(duì)工作任務(wù)表做個(gè)簡(jiǎn)單說(shuō)明,工作事項(xiàng)中紅色標(biāo)記部分,是我認(rèn)為自己在本階段完成比較差的,而在完成時(shí)間一欄,我認(rèn)為黃色標(biāo)記部分是分階段持續(xù)學(xué)習(xí)的,在下階段的輪崗中仍須繼續(xù)完成。

總結(jié)這個(gè)月的學(xué)習(xí),給自己打分是75分,首先必須肯定自己是有表現(xiàn)好地方,但自己還是不夠積極主動(dòng),沒有發(fā)揮個(gè)人最大的主觀能動(dòng)性,我覺得用周總的話來(lái)說(shuō)就是如何克服客家人理念上的保守,有時(shí)候顧慮過(guò)多。我沒有參與到部門后兩次例會(huì)就很能說(shuō)明問(wèn)題,有一次是因?yàn)槲也恢溃瑫呵也蝗ビ懻摚?月25日開部門例會(huì)自己是知道的,明明聽到了周總說(shuō)待會(huì)開例會(huì),僅僅是沒有點(diǎn)名讓我去參與,難道就因?yàn)檫@樣不參與了么?自己的遲疑,自己的猶豫不決,顧慮自己是否合適主動(dòng)參與,就這樣與兩次例會(huì)擦肩而過(guò),與學(xué)習(xí)的機(jī)會(huì)擦肩而過(guò),也就是因?yàn)樽约旱膬?yōu)柔寡斷將自己孤立、讓自己成為邊緣人。那一天自己一直在反思,思考如何更好地融入團(tuán)隊(duì)中去,成為其中的一員,思考如何將在集團(tuán)培訓(xùn)時(shí)所認(rèn)知的團(tuán)隊(duì)意識(shí)運(yùn)用到自己的工作中去。

最后,真的很感謝開發(fā)部的每一位,在這一個(gè)月的輪崗學(xué)習(xí)期間主動(dòng)、耐心地指導(dǎo)我學(xué)習(xí)開發(fā)報(bào)建的業(yè)務(wù)知識(shí),以及對(duì)我這個(gè)“插班生”諸多錯(cuò)誤的包容。我覺得自己就是這美麗世界的幸運(yùn)兒,剛從學(xué)校走出來(lái),就可以在這樣的一個(gè)部門跟著前輩們學(xué)習(xí),更幸運(yùn)的是遇到周總這樣的領(lǐng)導(dǎo),跟周總的每一次交流都能學(xué)到很多,無(wú)論是在業(yè)務(wù)知識(shí),還是工作態(tài)度上,以及做人做事的人生道理,概括來(lái)說(shuō)這個(gè)月能從周總那帶走幾句話就能收益良多了:

1、敬業(yè),踏實(shí)的工作,做事有頭有尾。

2、公德心,學(xué)會(huì)感恩。

3、細(xì)節(jié)注定成敗,做事細(xì)致,目的要明確。

4、做事應(yīng)追求“守正出奇,惠人達(dá)己”。

5、在工作中克服客家人理念上的保守。

擺脫平庸的標(biāo)準(zhǔn),才能成為真正的精英。

第四篇:產(chǎn)業(yè)開發(fā)總結(jié)

繁體版

www.tmdps.cn

第五篇:iwebshop開發(fā)總結(jié)

Iwebshop總結(jié)

1.C端(C控制器)有數(shù)據(jù),V端(模板)收不到數(shù)據(jù),一般可能的情況。

控制器名和模板名不一致,無(wú)法收到數(shù)據(jù)。

Foreach items=XX Item

2.控制器給模板數(shù)據(jù)的方式 $this->xx,setRenderData()1,必須是數(shù)組 2,因?yàn)閕webshop 在其 控制器基礎(chǔ)類 IControllerBase 使用了 extract,可以直接使用數(shù)組的鍵名(key)做變量名。

3.Iwebshop可以沒有action,但模板里面必須有同名的文件,如conf_base

4.后臺(tái)新建控制器時(shí),要在themeroute中的$syscontroller中添加一個(gè)鍵值

5.數(shù)組序列化寫入配置文件時(shí),需要在classes/config.php的$safeKey中添加一個(gè)鍵值,添加轉(zhuǎn)義符。

6.圖片不能上傳,多數(shù)原因是因?yàn)榕R時(shí)路徑無(wú)法寫入

編輯php.ini文件,去掉upload_tmp_dir前面的分號(hào)并將其修改為: upload_tmp_dir =“C:/windows/temp”

大多數(shù)Windows環(huán)境下的臨時(shí)文件夾位置是:

C:/windows/temp,為這個(gè)臨時(shí)文件夾加入網(wǎng)站匿名訪問(wèn)用戶組的讀寫權(quán)限,對(duì)于上層目錄windows設(shè)置users用戶的“列出目錄”的權(quán)限。大多數(shù)情況下,只需要設(shè)置臨時(shí)文件夾的訪問(wèn)權(quán)限,而不需要更改php配置。

7.數(shù)據(jù)庫(kù)操作 Imodel update($where)add之前,setData 打印sql 在$sql后面echo $sql

getObj($where = false,$cols = '*')打印語(yǔ)句的在query方法中

query($where=false,$cols='*',$orderBy=false,$desc='DESC',$limit=50000)

Iquery 聯(lián)表 分組 having 取唯一值

聯(lián)表查詢 要注意起別名 //關(guān)聯(lián)商品

$relationObj = new IQuery('relation as r');$relationObj->join = ' left join goods as go on r.goods_id = go.id ';$relationObj->where = ' r.article_id = '.$this->article_id.' and go.id is not null ';

下載Arcgis Engine開發(fā)總結(jié)集錦word格式文檔
下載Arcgis Engine開發(fā)總結(jié)集錦.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    店鋪開發(fā)總結(jié)

    篇一:淘寶店鋪總結(jié) 淘寶店鋪總結(jié) 1 聯(lián)銳廣文圖書專營(yíng)店 主營(yíng)寶貝:少兒雜志商城正版兒童禮盒禮盒裝 2 尚品智業(yè)圖書專營(yíng)店 主營(yíng)寶貝:少兒最新十萬(wàn)個(gè)為什么全新2010注音彩圖......

    NET 開發(fā)總結(jié)

    .NET 開發(fā)總結(jié) Web窗體的簡(jiǎn)單說(shuō)明: 這次作業(yè)都有一個(gè)共同點(diǎn)就是連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)連接函數(shù)不是很熟悉,弄了好久,最后還是請(qǐng)教同學(xué)才實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接,連接代碼如下圖: 數(shù)據(jù)庫(kù)連......

    8年項(xiàng)目開發(fā)總結(jié)

    八年了,我就這么渾渾噩噩的過(guò)來(lái)了。。。8年前的平安夜,我踏上了南下的列車,和許多人不一樣的是,我并沒有懷太多的夢(mèng)想。。。4年中專生活,只能用一個(gè)字來(lái)形容,那就是“混”。。。學(xué)......

    java開發(fā)技術(shù)總結(jié)

    數(shù)據(jù)庫(kù) oracle-->數(shù)據(jù)庫(kù)管理系統(tǒng)-->SQL、PL/SQL-->Java(JDBC+SQL) DBA,數(shù)據(jù)庫(kù)編程程序員 1.概念導(dǎo)論 1)什么是數(shù)據(jù)庫(kù) 有組織和結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)。可以存儲(chǔ) 字符、字節(jié)、圖形、圖......

    家庭教育資源開發(fā)總結(jié)

    洛河中小學(xué) 家庭教育資源開發(fā)總結(jié) 一、家庭教育資源開發(fā)和利用的意義 家長(zhǎng)隊(duì)伍中蘊(yùn)藏著豐富的教育資源,許多的家庭具有先進(jìn)的教育理念,深厚的家庭文化底蘊(yùn),和可供學(xué)校參觀實(shí)踐......

    JSP開發(fā)總結(jié)--9.24

    JSP2.0技術(shù)手冊(cè) JSP2.0 技術(shù)手冊(cè) JSP 2.0技術(shù)手冊(cè) 內(nèi)容簡(jiǎn)介: 本書圖文并茂,以豐富的實(shí)例為引導(dǎo),全面介紹了主流的 Java Web 開發(fā)技術(shù)—— JSP 2.0,重點(diǎn)介紹 Java 在展示層的兩......

    JSP開發(fā)配置總結(jié)

    第一步: 安裝JDK: 到SUN公司官方站點(diǎn)(http://java.sun.com) 下載JDK的安裝文件,下載之后安裝好JDK; 安裝完之后,設(shè)置環(huán)境變量:我的電腦->屬性->高級(jí)->環(huán)境變量; 選擇 系統(tǒng)變量(S): 1......

    旅行社開發(fā)思路總結(jié)

    旅行社開發(fā)思路總結(jié) 1,資源搜集 每到一個(gè)新環(huán)境,新的市場(chǎng),新的區(qū)域,首先要找那些有影響力,有帶動(dòng)能力的那些旅行社,這個(gè)我覺得我們可以根據(jù)當(dāng)?shù)氐拿襟w,報(bào)紙,形象廣告以及網(wǎng)絡(luò)方面的......

主站蜘蛛池模板: 国产成人av在线免播放app| 精品人妻一区二区三区四区在线| 五月丁香六月综合缴清无码| 亚洲一区av无码少妇电影玲奈| 少妇暴力深喉囗交3p| 国产精品美女久久久网站| 男插女高潮一区二区| 欧美黑人性暴力猛交高清| 国产精品二区一区二区aⅴ污介绍| 在线观看国产丝袜控网站| a男人的天堂久久a毛片| 欧美三级乱人伦电影| 久久亚洲国产五月综合网| 婷婷成人综合激情在线视频播放| 久久久综综合色一本伊人| 亚洲 日韩 另类 制服 无码| av无码天堂一区二区三区| 国产 校园 另类 小说区| 国产av无码专区亚洲草草| 免费a级毛片18以上观看精品| 国产亚洲欧美日韩在线一区| 男女后式激烈动态图片| 成人国产一区二区三区精品| 日本丰满大乳人妻无码苍井空| 国产精品午夜无码av体验区| 婷婷五月综合色视频| 色欲av伊人久久大香线蕉影院| 四虎精品免费永久免费视频| 久久久亚洲精华液精华液精华液| 日本亚洲欧美色视频在线播放| 国产人妻久久精品一区二区三区| 丝袜足控一区二区三区| 中文无码一区二区三区在线观看| 久久99精品国产麻豆宅宅| 亚洲综合欧美制服丝袜| 亚洲精品无人区| 人人妻人人妻人人片色av| 农村乱人伦一区二区| 天堂v亚洲国产v第一次| 夜夜高潮夜夜爽夜夜爱爱一区| 亚洲国产精品日韩av不卡在线|