阅读:2892回复:9
[求助]请问sceneContral如何添加shapfile啊?
<P> 老板要我做一个数据的三维分析可视化作业,文件格式是shap格式,我知道在Engine中Mapcontral有添加shapfile的方法,那位大虾可以告诉我在SceneContral中如何添加shap文件呢?</P>
<P> 急。。。。。先谢谢了!</P>(VB VC 均可) [此贴子已经被作者于2005-7-5 13:26:31编辑过]
|
|
1楼#
发布于:2005-09-01 18:19
<P>Public Sub add3DScene(strPath As String, strFcname As String) </P>
<P>'''by kisssy<BR> Dim myFWKS As IFeatureWorkspace<BR> Dim myWKSF As IWorkspaceFactory<BR> Set myWKSF = New ShapefileWorkspaceFactory<BR> Set myFWKS = myWKSF.OpenFromFile(strPath, 0)<BR> If Not myFWKS Is Nothing Then<BR> ''''Open<BR> Dim myFC As IFeatureClass<BR> Set myFC = myFWKS.OpenFeatureClass(strFcname)<BR> Dim myDS As IDataset<BR> Set myDS = myFC<BR> Dim myFLayer As IFeatureLayer<BR> Set myFLayer = New FeatureLayer<BR> Set myFLayer.FeatureClass = myFC<BR> myFLayer.Name = myDS.Name<BR> <BR> SceneControl1.Scene.addLayer myFLayer 'SceneControl1.Scene.ExaggerationFactor = gZfactor<BR> End If<BR>End Sub</P> |
|
|
2楼#
发布于:2005-08-24 18:42
谢谢了 !我试一试看看
|
|
3楼#
发布于:2005-08-24 18:41
先谢了 我试一试看!
|
|
4楼#
发布于:2005-08-24 01:25
<P>和map控件一样的添加就可以</P>
|
|
5楼#
发布于:2005-08-23 22:08
?
|
|
6楼#
发布于:2005-08-03 21:05
<P>猪头外劳,在帮俺看看,这段程序问题出在什么地方,这段程序可以加载shape,但是,如果我多选加载时,最后都变成最后一个选中的shape文件的副本?单个加载没有问题!麻烦你了</P>
|
|
7楼#
发布于:2005-07-05 21:35
<P> <img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em02.gif" /> </P>
<P> 谢谢楼上的兄弟啊!在AO我知道通过IGxDialog这个接口可以实现这种功能,!但是,如果想彻底摆脱ArcGIS的平台运行!还的用Engine来作效果不错啊!Mapcontral有这个接口!但是在SceneContral 我好久也没有实现!</P> |
|
8楼#
发布于:2005-07-05 15:33
一头无水
|
|
|
9楼#
发布于:2005-07-05 14:56
<P>这个是ao下编的,</P>
<P>Private Sub Add_Click()<BR>Dim pgxdialog As IGxDialog<BR>Dim pEnumGxobject As IEnumGxObject<BR>Dim pFilter As IGxObjectFilter<BR>Set pFilter = New GxFilterFeatureDatasetsAndFeatureClasses 'GxFilterTINDatasets<BR>Set pgxdialog = New GxDialog<BR>'***Dim pgxobject As IGxObject<BR>pgxdialog.AllowMultiSelect = True<BR>pgxdialog.StartingLocation = "f:"<BR>pgxdialog.Title = "select files for input"<BR>pgxdialog.ButtonCaption = "OK"<BR>Set pgxdialog.ObjectFilter = pFilter<BR>pgxdialog.DoModalOpen Form1.hwnd, pEnumGxobject<BR>If pEnumGxobject Is Nothing Then Exit Sub</P> <P>Dim pGxObject As IGxDataset</P> <P>Dim pFLayer As IFeatureLayer<BR>Set pFLayer = New FeatureLayer<BR>Set pGxObject = pEnumGxobject.Next</P> <P>If pGxObject Is Nothing Then Exit Sub<BR>While Not pGxObject Is Nothing<BR>'***If TypeOf pGxObject.Dataset Is IFeatureClass Then<BR>Set pFLayer.FeatureClass = pGxObject.Dataset<BR>pFLayer.Name = pGxObject.Dataset.Name<BR>SceneViewerCtrl1.SceneGraph.Scene.AddLayer pFLayer<BR>Set pGxObject = pEnumGxobject.Next<BR>Wend<BR>End Sub</P> |
|
|