阅读:2730回复:8
ArcEngine中加载shp文件的问题
<P>我想在MapControl控件中打开一个shp文件。</P>
<P>IWorkspaceFactory pWorkspaceFactory;<BR> IFeatureWorkspace pFeatureWorkspace;<BR> IFeatureLayer pFeatureLayer; </P> <P> openFileDialog2.Title = "Select shape file";<BR> openFileDialog2.Filter = "shape file (*.shp)|*.shp";<BR> openFileDialog2.ShowDialog();</P> <P> string sFilePath = openFileDialog2.FileName;<BR> pWorkspaceFactory = new ShapefileWorkspaceFactoryClass(); <BR> if (sFilePath == "") return;<BR> // 增加打开档命令 <BR> pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(sFilePath,0);</P> <P>编译提示上面代码的最后一行有错误,我看VB代码中都将OpenFromFile()函数中的后面一个参数设为0,我在这里也设成0,好像不对,我不知道怎么设,还请哪位高手指点一下</P> |
|
1楼#
发布于:2006-08-15 08:49
<P>你看看这个IWorkspaceFactory.Open</P>
|
|
|
2楼#
发布于:2006-08-15 08:53
<P>好,谢谢</P>
|
|
3楼#
发布于:2006-08-17 22:17
看看行不行这个
<P>public void AddShapeFile (string path,string fileName)<BR> {<BR> IWorkspaceFactory pWorkspaceFactory;<BR> IFeatureWorkspace pFeatureWorkspace;<BR> IFeatureLayer pFeatureLayer;<BR> <BR> pWorkspaceFactory = new ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass();<BR> pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(@"F:\\New Folder\\ArcGIS\\DeveloperKit\\samples\\data\\world", 0) as IFeatureWorkspace;<BR> pFeatureLayer = new ESRI.ArcGIS.Carto.FeatureLayerClass();<BR> pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass("dissolvecntry");<BR> pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;<BR> this.axMapControl1.AddShapeFile(@"F:\\New Folder\\ArcGIS\\DeveloperKit\\samples\\data\\world", "dissolvecntry.shp");<BR> <BR> </P>
<P> }</P> |
|
4楼#
发布于:2006-08-17 22:21
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
5楼#
发布于:2006-08-18 10:45
<P>string sFilePath = openFileDialog2.FileName;</P>
<P>把sFilePath 的.shp去掉因该就可以了</P> |
|
|
6楼#
发布于:2006-08-18 13:15
Dim sFilePath As String<BR> Dim pWorkspaceFactory As IWorkspaceFactory<BR> Dim pFeatureWorkspace As IFeatureWorkspace<BR> Dim pFeatureLayer As IFeatureLayer<BR> CommonDialog1.DialogTitle = "Browse Map Document"<BR> CommonDialog1.Filter = "Map Documents (*.shp)|*.shp"<BR> CommonDialog1.CancelError = True<BR> On Error GoTo error<BR> CommonDialog1.ShowOpen<BR> If Len(CommonDialog1.FileName) = 0 Then Exit Sub<BR>error:<BR> sFilePath = CommonDialog1.FileName<BR> If sFilePath = "" Then Exit Sub<BR> fname = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)<BR> Set pWorkspaceFactory = New ShapefileWorkspaceFactory<BR> Set pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(CurDir, 0)
|
|
7楼#
发布于:2006-08-18 13:39
<P>请问这句话是什么意思呢 ??</P>
<P>fname = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)<BR></P> |
|
8楼#
发布于:2006-09-07 15:13
谢谢各位,问题解决了
|
|