1. 在arcgis中的要素数据集点新建后那个网络数据集为什么是是灰的,我想创建一个网络数据集
1、在ArcCatalog的菜单栏中,点击“自定义”,再点下拉菜单“拓展模块”,出现一个拓展模块窗口,如下,勾选Network Analyst,然后再试着创建网络数据集
2、如果还是不能创建网络数据集,可能是安装Arcgis时没有安装这些拓展模块,接下来是安装上图那些拓展模块的方法:
点开下面的网页链接,可以查看相关问题的回答,里面有详细回答
网页链接
2. 新建网络数据集框太大 如何缩小点击下一步
是分辨率的问题。
先试试能不能把上面的那部分压下来一点,再把整个框向上移动,如果不行改一下分辨率。步骤:
1、将缩放从推荐的百分之一百五修改为百分之一百二十五。
2、再次新建数据集。
3、这个缩放不习惯的话,等用完ArcGIS软件再恢复过来即可。
3. 如何创建网络数据集
//<summary>
///创建自定义网络数据集
///</summary>
///<paramname="_pWsName"></param>
///<paramname="_pDatasetName"></param>
///<paramname="_pNetName"></param>
///<paramname="_pFtName"></param>
voidCreateNetworkDataset(string_pWsName,string_pDatasetName,string_pNetName,string_pFtName)
{
=newDENetworkDatasetClass();
pDENetworkDataset.Buildable=true;
IWorkspacepWs=GetWorkspace(_pWsName);
IFeatureWorkspacepFtWs=pWsasIFeatureWorkspace;
IFeatureDatasetpFtDataset=pFtWs.OpenFeatureDataset(_pDatasetName);
//定义空间参考,负责会出错
IDEGeoDatasetpDEGeoDataset=(IDEGeoDataset)pDENetworkDataset;
IGeoDatasetpGeoDataset=pFtDatasetasIGeoDataset;
pDEGeoDataset.Extent=pGeoDataset.Extent;
pDEGeoDataset.SpatialReference=pGeoDataset.SpatialReference;
//网络数据集的名称
IDataElementpDataElement=(IDataElement)pDENetworkDataset;
pDataElement.Name=_pNetName;
//参加建立网络数据集的要素类
=newEdgeFeatureSourceClass();
pEdgeNetworkSource.Name=_pFtName;
pEdgeNetworkSource.ElementType=esriNetworkElementType.esriNETEdge;
//要素类的连通性
=(IEdgeFeatureSource)pEdgeNetworkSource;
pEdgeFeatureSource.UsesSubtypes=false;
pEdgeFeatureSource.ClassConnectivityGroup=1;
pEdgeFeatureSource.ClassConnectivityPolicy=.esriNECPEndVertex;
//不用转弯数据
pDENetworkDataset.SupportsTurns=false;
IArraypSourceArray=newArrayClass();
pSourceArray.Add(pEdgeNetworkSource);
pDENetworkDataset.Sources=pSourceArray;
//网络数据集的属性设置
IArraypAttributeArray=newArrayClass();
//:
;
INetworkAttribute2pNetAttr2;
;
;
pEvalNetAttr=();
pNetAttr2=(INetworkAttribute2)pEvalNetAttr;
pNetAttr2.Name="Meters";
pNetAttr2.UsageType=esriNetworkAttributeUsageType.esriNAUTCost;
pNetAttr2.DataType=esriNetworkAttributeDataType.esriNADTDouble;
pNetAttr2.Units=esriNetworkAttributeUnits.esriNAUMeters;
pNetAttr2.UseByDefault=false;
pNetFieldEval=newNetworkFieldEvaluatorClass();
pNetFieldEval.Setexpression_r("[METERS]","");
//方向设置
pEvalNetAttr.set_Evaluator(pEdgeNetworkSource,esriNetworkEdgeDirection.esriNEDAlongDigitized,(INetworkEvaluator)pNetFieldEval);
pEvalNetAttr.set_Evaluator(pEdgeNetworkSource,esriNetworkEdgeDirection.esriNEDAgainstDigitized,(INetworkEvaluator)pNetFieldEval);
pNetConstEval=();
pNetConstEval.ConstantValue=0;
pEvalNetAttr.set_DefaultEvaluator(esriNetworkElementType.esriNETEdge,(INetworkEvaluator)pNetConstEval);
pEvalNetAttr.set_DefaultEvaluator(esriNetworkElementType.esriNETJunction,(INetworkEvaluator)pNetConstEval);
pEvalNetAttr.set_DefaultEvaluator(esriNetworkElementType.esriNETTurn,(INetworkEvaluator)pNetConstEval);
//一个网络数据集可以有多个属性,我只添加了一个
pAttributeArray.Add(pEvalNetAttr);
pDENetworkDataset.Attributes=pAttributeArray;
//创建网络数据集,注意在创建几何网络的时候会锁定相应的要素类,因此不要用ArcMap或者catalog等打开参相应的数据
=Create(pFtDataset,pDENetworkDataset);
//建立网络
INetworkBuildpNetworkBuild=(INetworkBuild)pNetworkDataset;
pNetworkBuild.BuildNetwork(pGeoDataset.Extent);
}
4. 请问为什么创建网络数据集的时候提示无法创建网络数据集,常规功能出现障碍
1、在ArcCatalog的菜单栏中,点击“自定义”,再点下拉菜单“拓展模块”,出现一个拓展模块窗口,如下,勾选Network Analyst,然后再试着创建网络数据集
2、如果还是不能创建网络数据集,可能是安装Arcgis时没有安装这些拓展模块~
5. 如何使用server网络数据集服务
通常CAD文件直接导入到ArcGIS中是不能直接进行网格分析的。
GIS软件最早期使用的文件和CAD文件是类似的,但经过近40年的发展,已经发展到Geodatabase数据模型。而网络分析正好是基于该模型的,如下图。(图来源于汤国安老师的实验教程数据)
图中的 city.mdb指的是地理数据库,city是数据集,net和place是交通线与地点(源点和目的地),而city_Net和city_Net_Junctions是基于net和place创建的网络数据集和交点。
所以说,CAD文件首先要按线和点分层处理转化ArcGIS的Geodatabse格式(如上图),如果要进行网络分析,点和线之间需要连接,然后生成网络数据集,使用ArcGIS的“网络分析”工具条执行最短路径分析。