始祖鸟
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数37
  • QQ
  • 铜币203枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2730回复:8

ArcEngine中加载shp文件的问题

楼主#
更多 发布于:2006-08-14 23:00
<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>
喜欢0 评分0
cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5917
  • QQ14265545
  • 铜币29669枚
  • 威望217点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
1楼#
发布于:2006-08-15 08:49
<P>你看看这个IWorkspaceFactory.Open</P>
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
举报 回复(0) 喜欢(0)     评分
始祖鸟
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数37
  • QQ
  • 铜币203枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-08-15 08:53
<P>好,谢谢</P>
举报 回复(0) 喜欢(0)     评分
hahaaluo
路人甲
路人甲
  • 注册日期2006-08-05
  • 发帖数146
  • QQ
  • 铜币591枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2006-08-17 22:21
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2006-08-18 10:45
<P>string sFilePath = openFileDialog2.FileName;</P>
<P>把sFilePath 的.shp去掉因该就可以了</P>
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
gisleonzhouly
路人甲
路人甲
  • 注册日期2006-07-24
  • 发帖数15
  • QQ
  • 铜币157枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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)
举报 回复(0) 喜欢(0)     评分
hahaaluo
路人甲
路人甲
  • 注册日期2006-08-05
  • 发帖数146
  • QQ
  • 铜币591枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2006-08-18 13:39
<P>请问这句话是什么意思呢 ??</P>
<P>fname = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)<BR></P>
举报 回复(0) 喜欢(0)     评分
始祖鸟
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数37
  • QQ
  • 铜币203枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2006-09-07 15:13
谢谢各位,问题解决了
举报 回复(0) 喜欢(0)     评分
游客

返回顶部