上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修改,读者仍然可以用1.1中制作的数据. 1. 数据库的建立与数据的导入 为什么要创建要素数据集呢? 是因为地理数据库中的网络数据集是基于要素数据集的. 这里就随便填写了,投影与Route的线shp文件一致. 导入Route数据: 这回我用了中文命名. 注意,导入的数据集会自动计算几何长度(面还会计算…
上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文件参与. 如何解决这个弊端呢?见下篇,利用地理数据库即可. 本篇目录: 1. 创建网络数据集 2. 给网络数据集命名 3. 转弯 4. 连通性 5. 高程 6. 网络数据集的阻抗属性 7. 出行模式 8. 导航设置 9. 创建并构建网络数据集 10. 试验最短路径 1. 创建网络数据集! 如图. 2…
上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDataset()方法创建网络数据集. 涉及到的接口(全在Geodatabase类库中) IDatasetContainer2.IDataset.INetworkDataset.IDEDataset.IDENetworkDataset4(重点) 涉及到的枚举类型(全在Geodatabase类库中) esr…
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancisco数据的,也有直接用官方SanFrancisco的网络数据集进行应用的,就是没有告诉我怎么用自己的线数据生成网络数据集并应用的. 我靠网上的文章和官方的例子一点点摸了出来,虽然不是很完整的解说,不过确实能用于最基本的网络分析了. [软件准备] 本人使用ArcGIS for Desktop 10.4下的Arc…
为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于Shp文件组成的网络数据集). 当你拥有了合适的对象后,就可以使用IDatasetContainer2接口去创建或者打开网络数据集了. 如果当前打开的Map对象中有网络数据集图层,那么就可以通过访问INetworkLayer接口的NetworkDataset字段来访问网络图层中的网络数据集. IDat…
ArcGIS中最基本的三种矢量数据是什么?点线面. 网络中除了路网之外,还会有地物点. 如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网.但是在大型的决策任务中,网络数据集就不只是公路网那么简单了. 在城市与城市之间,有高速公路,国道,高铁,普铁,甚至还有水路. 如此复杂的网络模型是如何连通的呢?他们之间的交点又有什么样的连通方式呢?在这里,我仍然卖个关子,在以后的连通性一章,会详细说明.在文末,就会看到点作为网络数据集中十分强大而关键的一员出现,其意义是多连通组的时候,作为媒介…
创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENetworkDataset对比 1.1 什么是INetworkDataset 1.2 两者对比 2. 如何设置数据元素网络数据集(IDENetworkDataset)的属性以创建网络数据集 2.1 涉及的接口.类.枚举 2.2 创建数据元素网络数据集(IDENetworkDataset)对象 2.3 添…
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何“使用自己的数据”创建“网络数据集”的文章. 究其原因,是因为当前的高质量的线数据或保密,或采集困难. 有介绍几何网络的,有介绍如何用官方SanFrancisco数据的,也有直接用官方SanFrancisco的网络数据集进行应用的: 就是没有告诉我,怎么从制作线数据,再到创建网络数据集,并应用这一整条线路的——当然也是我没找着. 我靠网上的文章和官方的帮助文档一点点摸了出来,虽然不是很完整的解说,不过确实能用于最基本的网络分析了. 1.…
上一章花了大篇幅介绍网络数据集的创建,也简单说了下点线的连通性问题. 那么可以试试刀锋不锋利啦! 网络分析呢,ArcGIS提供了5个基本分析类型: 最短路径求解 服务区(服务覆盖范围) 事故突发地的最近设施 OD成本矩阵 车辆分配. 在这里,就先简单介绍介绍. 基于网络数据集,每一种分析类型都需要在ArcMap中创建一个对应的分析图层才能进行分析.…
转自 在geodatabase中创建要素集 //在数据集中创建要素 private void menuItem25_Click(object sender, System.EventArgs e) { CreateFClassInPDB(@"C:\ArcGIS\ArcTutor\BuildingaGeodatabase\Montgomery.mdb"); } public static void CreateFClassInPDB(string filePath){ string sh…
如果不同版本的ArcMap连接到同一个Oracle数据库上,分别执行"创建镶嵌数据集",它们的行为是一样的吗? 答案是:不一样,会有细微的差别 在本例中,ArcMap的版本分别是10.2.2与10.3,数据库服务器的版本是11.2.0.3,SDE Repository 的版本是10.1 . 使用10.3版本的ArcMap创建镶嵌数据集 MD1003 在创建镶嵌数据集之前,创建user_objects的备份表user_objects_b; 创建镶嵌数据集,完成后,数据库新增了如下的表.序…
网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 1. 软件平台及数据准备 平台:Windows 10 操作系统,ArcGIS for Desktop 10.0或更高版本(本人使用10.4) 用到的软件和SDK:VisualStudio 2012或更高版本.ArcGIS Objects 10.2或更高版本.Microsoft.NET Framework 3.5或更高版本 2. 网络分析介绍 挖坑待填. 3. 网…
网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 平台:Windows 10操作系统,ArcGIS for Desktop 10.2或更高版本 用到的软件和SDK:VisualStudio 2012或更高版本.ArcGIS Objects 10.2或更高版本.Microsoft.NET Framework 3.5或更高版本 [网络分析介绍] [博文目录] 1. ArcGIS 网络分析[2] 利用自定义基础数据创…
基于现有的线要素类.转弯要素类(在地理数据库的要素数据集中),要用AO做两件事: 1. 创建网络数据集(使用Geodatabase类库) 2. 执行网络分析(使用NetworkAnalyst类库) 在8.1-8.4,着重介绍如何用AO创建网络数据集,这部分十分重要. 在8.5-8.6,利用创建好的数据库去做路径分析. 具体细节就不细说了,大家可以往下看,这个过程相当复杂头疼,我会尽力图文并茂写清楚,没有一年以上AO开发能力的慎入. 网络分析和几何网络分析是ArcGIS中各种空间分析最复杂的两种分…
原文:ArcGIS Engine开发之旅02--ArcGIS Engine中的类库 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他类库提供服务的组件.System类库中定义了大量开发者可以实现的接口.AoInitializer对象就是在System类库中定义的,所有的开发者必须使用这个对象来初始化ArcGISEngine和解除ArcGIS Engine的初始化.开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展A…
原文:ArcGIS网络分析之Silverlight客户端路径分析(三) 首先贴上最终的效果图: a.路径查询 2.最近设施点查询 3.服务区分析 说明: 1.以上的示例使用的数据是随意在ArcMap中创建的数据,也就是之前博文新建的数据,这里的单位和比例尺并不是实际的单位和比例尺.所以和底图的显示不一致,这里的底图只是为了增加显示的效果. 2.以上所以的实现基于之前的两篇关于网络分析的博文,在此推荐看一看. 3.以上示例的具体细节将会分别为大家讲解,欢迎大家相互交流,批评指正. 一.路径分析服务…
具体的准备,在上一篇就说过了,不再赘述. 阅读本篇前,需要的预备知识是:ArcGIS创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进来. 好,开始. 1. 创建线类型的shp文件 在如图所示的文件夹下,创建名为Route的线shp,其实命名随意,中文也是可以的. 在这里,我选择地理坐标系为1984的WGS坐标系,投影到UTM投影的50N带,如上图所示. 2. 创建一些线道路 选一个合适的比例尺,画起来符合实际一些. 大致画好13…
基于上篇所介绍的内容,就说说如何利用访问到的网络数据集,在Map中添加网络数据集图层.创建网络分析图层中的路径图层,并执行路径分析示例.…
前面介绍完了如何创建网络数据集.如何使用网络分析功能,当然还有的读者会迷惑于一些更深层次的问题,比如网络数据集的连通性问题等. 因为不可能面面俱到,我只能挑重点来阐述,我觉得网络数据集的连通性.属性和转弯是初学者中比较头疼.想不通的问题,我就再以此为起点,较为深入的探讨这三方面的二三事. 连通性 网络数据集的属性 转弯问题…
有很多同学虽然成功做好了网络数据集,但是分析时会出现这样的问题: 这是为什么呢? 这有三个可能的原因: 1. 两个点之间所有的道路没有连通(问题出在点.线数据上). 2. 网络数据集出现了孤立的点位置. 3. 网络数据集的连通性有问题. 我就从这三个方面说说,如何避免这些问题.因为标题起的是点线要素的制作情况,我就着重讲第一点了,后两个情况简单说说,在第四章网络数据集的连通性会详细说. 1. 问题出在点线数据上 还分两个简单的情况: 一个是点不在线上: 另一个比较复杂:线之间二维没有由折点连通.…
原文:ArcGIS Engine开发之旅07---文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 .打开栅格数据 对文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 1.打开栅格数据  要打开一个栅格数据,这个有点类似我们打开 FeatureClass 一样,先要获取工作空间,只不过我们过于要素类的时候需要 IFeatureWorkspace,而栅格数据则需要 IRasterWorkspace,示例如下: IRasterWorkspa…
转自:http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/002q00000080000000/ 地理数据库的系统表可以强制地理数据库行为.存储有关地理数据库的信息以及追踪存储在地理数据库中的数据. 不得使用 ArcGIS 软件以外的任何其他软件更改系统表及其内容.不过,可以使用 SQL 查看系统表的内容. GDB_ITEMRELATIONSHIPS GDB_ITEMRELATIONSHIPS 表用于存储有关 GDB_I…
原文:ArcGIS网络分析之Silverlight客户端最近设施点分析(四) 在上一篇中说了如何实现最近路径分析,本篇将讨论如何实现最近设施点分析. 最近设施点分析实际上和路径分析有些相识,实现的过程基本一致,不同的是参数的设置,选用的分析图层为最近设施点网络分析图层,一般形式为: http://<服务器名或ip地址>/ArcGIS/rest/services/<地图服务名称>/NAServer/<最近设施点分析图层名称> 在ArcGIS Api for Silverl…
前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(ClosestFacilityTask)和服务区(ServiceAreaTask). 而这三个分析类依赖的是ArcGIS Server上的NAServer(网络分析服务),于是 如何发布NAServer,就成了我近期的研究事宜,所幸的是,这方面的资料非常丰富. 需要注意的是: NAServer依赖于M…
原文:ArcGIS Engine开发之旅03--ArcGIS Engine中的控件 制图控件,如MapControl.PageLayoutControl,其中MapControl控件主要用于地理数据的显示和分析,PageLayoutControl用于生成一幅成品地图.MapControl封装了Map对象,而PageLayoutControl则封装了PageLayout对象.这两个控件都实现了IMxContents接口,因此不仅可以读取ArcMap创建的地图文档,而且可以将自身的地图内容写到一个新…
什么是VRP? VRP就是车辆配送. 大家有没有想象过一个城市的某个快递营业点,是怎么让各个快递员配送快递的? 每个快递员针对那片区域的客户,如何走路线才最省时间? 也许你会说,最短路径分析可以做到——那么,这可不能一个一个分开来分析呀?而且与最短路径有个最大的区别就是,VRP问题,车子出去走一圈最短的线路,还是要回来起点的. VRP就是讲究一个“一次设置”,全部计算的效率,而且还支持一些最短路径分析中不支持的特性,如停靠时间等,这是这几个网络分析里比较复杂的一个了. 创建VRP图层所必须的——…
最短路径求解 [如果看到此博客还没有网络数据集的,请参考第一章的内容,点击我,看目录] 最短路径,是什么最短?时间最短?距离最短?什么距离?路程距离? 考虑到拥堵问题,限速问题,换乘问题,在现实的最短路径远远比计算机中的最短路径要复杂,因为要考虑的因素太多了. 这些因素就叫作最短路径求解过程中的"阻抗",和电阻阻碍电流类似. 最短路径是后面几个分析类型的基础,只有求得了最短路径,才知道能覆盖多大地方(服务区).事故点与最近设施的路径怎么走(最近设施)等. 在上一章,就已经有了最简单的路…
什么是VRP? VRP就是车辆配送. 大家有没有想象过一个城市的某个快递营业点,是怎么让各个快递员配送快递的? 每个快递员针对那片区域的客户,如何走路线才最省时间? 也许你会说,最短路径分析可以做到——那么,这可不能一个一个分开来分析呀?而且与最短路径有个最大的区别就是,VRP问题,车子出去走一圈最短的线路,还是要回来起点的. VRP就是讲究一个“一次设置”,全部计算的效率,而且还支持一些最短路径分析中不支持的特性,如停靠时间等,这是这几个网络分析里比较复杂的一个了. 创建VRP图层所必须的——…
   坚信并为之坚持是一切希望的原因. (不足之处,欢迎批评指正!) --------------------环境:Windows server2008R2虚拟机两台---------------------- ----------------------版本:ArcGIS 10.2 for Server------------------------- 1 安装前准备: (1)集群配置,至少准备操作系统一致的两台计算机(可以是虚拟机). (2)在两台计算机上修改防火墙设置,以打开 ArcGIS…
arcgis js之点击获取featureLayer中的点 代码: this.view.on('click', (evt) => { let layer = this.map.findLayerById('examLayer') // 创建查询对象 let query = layer.createQuery() // 将点击的点放入查询对象中 query.geometry = { type: 'point', // autocasts as new Point() longitude: evt.…