前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancisco数据的,也有直接用官方SanFrancisco的网络数据集进行应用的,就是没有告诉我怎么用自己的线数据生成网络数据集并应用的. 我靠网上的文章和官方的例子一点点摸了出来,虽然不是很完整的解说,不过确实能用于最基本的网络分析了. [软件准备] 本人使用ArcGIS for Desktop 10.4下的Arc…
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何“使用自己的数据”创建“网络数据集”的文章. 究其原因,是因为当前的高质量的线数据或保密,或采集困难. 有介绍几何网络的,有介绍如何用官方SanFrancisco数据的,也有直接用官方SanFrancisco的网络数据集进行应用的: 就是没有告诉我,怎么从制作线数据,再到创建网络数据集,并应用这一整条线路的——当然也是我没找着. 我靠网上的文章和官方的帮助文档一点点摸了出来,虽然不是很完整的解说,不过确实能用于最基本的网络分析了. 1.…
上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文件参与. 如何解决这个弊端呢?见下篇,利用地理数据库即可. 本篇目录: 1. 创建网络数据集 2. 给网络数据集命名 3. 转弯 4. 连通性 5. 高程 6. 网络数据集的阻抗属性 7. 出行模式 8. 导航设置 9. 创建并构建网络数据集 10. 试验最短路径 1. 创建网络数据集! 如图. 2…
ArcGIS中最基本的三种矢量数据是什么?点线面. 网络中除了路网之外,还会有地物点. 如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网.但是在大型的决策任务中,网络数据集就不只是公路网那么简单了. 在城市与城市之间,有高速公路,国道,高铁,普铁,甚至还有水路. 如此复杂的网络模型是如何连通的呢?他们之间的交点又有什么样的连通方式呢?在这里,我仍然卖个关子,在以后的连通性一章,会详细说明.在文末,就会看到点作为网络数据集中十分强大而关键的一员出现,其意义是多连通组的时候,作为媒介…
创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENetworkDataset对比 1.1 什么是INetworkDataset 1.2 两者对比 2. 如何设置数据元素网络数据集(IDENetworkDataset)的属性以创建网络数据集 2.1 涉及的接口.类.枚举 2.2 创建数据元素网络数据集(IDENetworkDataset)对象 2.3 添…
上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDataset()方法创建网络数据集. 涉及到的接口(全在Geodatabase类库中) IDatasetContainer2.IDataset.INetworkDataset.IDEDataset.IDENetworkDataset4(重点) 涉及到的枚举类型(全在Geodatabase类库中) esr…
为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于Shp文件组成的网络数据集). 当你拥有了合适的对象后,就可以使用IDatasetContainer2接口去创建或者打开网络数据集了. 如果当前打开的Map对象中有网络数据集图层,那么就可以通过访问INetworkLayer接口的NetworkDataset字段来访问网络图层中的网络数据集. IDat…
上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修改,读者仍然可以用1.1中制作的数据. 1. 数据库的建立与数据的导入 为什么要创建要素数据集呢? 是因为地理数据库中的网络数据集是基于要素数据集的. 这里就随便填写了,投影与Route的线shp文件一致. 导入Route数据: 这回我用了中文命名. 注意,导入的数据集会自动计算几何长度(面还会计算…
后记 下面给出项目中用到的自定义的封装类. AE许可初始化封装类: public class AELicenseChecker { private static volatile AELicenseChecker _instance = null; private static readonly object lockHelper = new object(); //AE许可对象 private IAoInitialize _aoInitialize = null; private AELice…
一 引子 网络数据集,GIS空间分析基础的理论和知识,是最短路径分析.连通性分析等其他空间分析技术的数据基础. 以往,网络数据集的研究很少,此次项目开发过程中,对网络数据集以及arcengine创建网络数据集的实现流程,比较深入的了解.功能实现过程中,遇到了不少的问题,通过不断的解决问题,熟悉了相关的几个AE接口的设置和使用.创建网络数据集的功能实现,相对于其他的AE功能实现来说,是比较复杂的.主要是对应接口属性设置的不熟悉造成的,而且还有遵循固定的步骤设置. ESRI官网样例代码及网络资料,对…
四 ArcEngine实现创建网络数据集 ArcEngine创建网络数据集的过程,与ArcMap设置的过程类似,主要通过六个步骤即可以实现. 1 定义网络数据集对象,并设置基本属性,包括网络数据集名称,空间参考,空间范围等内容. 关键代码如下: /// <summary> /// 创建网络数据集对象 /// </summary> /// <param name="featureDataset">包含网络数据集的空间要素集</param>…
这篇是对前三篇的总结,因为网络数据集涉及的"点"太多了,我只能挑重点来设置,大家明白框架后可以自行寻求帮助文档添加功能. 我以C#类的形式给出,这个类包含很多种方法,因为本人的C#功底还不是很好,对设计模式还不能很好的把控,应该算是工厂模式的一个小小实验吧,如果有不对的地方请编程大佬指出. 这个类的名称是NetworkDatasetConstrutor,实现多个接口(加载的放一个接口,网络属性的一个接口,网络源一个接口,创建并构建一个接口等),其中设置方法如下: NetworkData…
网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 平台:Windows 10操作系统,ArcGIS for Desktop 10.2或更高版本 用到的软件和SDK:VisualStudio 2012或更高版本.ArcGIS Objects 10.2或更高版本.Microsoft.NET Framework 3.5或更高版本 [网络分析介绍] [博文目录] 1. ArcGIS 网络分析[2] 利用自定义基础数据创…
网络分析是个热点,理论上是属于计算机图形学和数据结构的,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. 网…
具体的准备,在上一篇就说过了,不再赘述. 阅读本篇前,需要的预备知识是:ArcGIS创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进来. 好,开始. 1. 创建线类型的shp文件 在如图所示的文件夹下,创建名为Route的线shp,其实命名随意,中文也是可以的. 在这里,我选择地理坐标系为1984的WGS坐标系,投影到UTM投影的50N带,如上图所示. 2. 创建一些线道路 选一个合适的比例尺,画起来符合实际一些. 大致画好13…
基于现有的线要素类.转弯要素类(在地理数据库的要素数据集中),要用AO做两件事: 1. 创建网络数据集(使用Geodatabase类库) 2. 执行网络分析(使用NetworkAnalyst类库) 在8.1-8.4,着重介绍如何用AO创建网络数据集,这部分十分重要. 在8.5-8.6,利用创建好的数据库去做路径分析. 具体细节就不细说了,大家可以往下看,这个过程相当复杂头疼,我会尽力图文并茂写清楚,没有一年以上AO开发能力的慎入. 网络分析和几何网络分析是ArcGIS中各种空间分析最复杂的两种分…
有很多同学虽然成功做好了网络数据集,但是分析时会出现这样的问题: 这是为什么呢? 这有三个可能的原因: 1. 两个点之间所有的道路没有连通(问题出在点.线数据上). 2. 网络数据集出现了孤立的点位置. 3. 网络数据集的连通性有问题. 我就从这三个方面说说,如何避免这些问题.因为标题起的是点线要素的制作情况,我就着重讲第一点了,后两个情况简单说说,在第四章网络数据集的连通性会详细说. 1. 问题出在点线数据上 还分两个简单的情况: 一个是点不在线上: 另一个比较复杂:线之间二维没有由折点连通.…
前面介绍完了如何创建网络数据集.如何使用网络分析功能,当然还有的读者会迷惑于一些更深层次的问题,比如网络数据集的连通性问题等. 因为不可能面面俱到,我只能挑重点来阐述,我觉得网络数据集的连通性.属性和转弯是初学者中比较头疼.想不通的问题,我就再以此为起点,较为深入的探讨这三方面的二三事. 连通性 网络数据集的属性 转弯问题…
1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&…
提取注解信息 使用注解修饰了类.方法.成员变量等成员之后,这些注解不会自己生效,必须由开发者提供相应工具来提取并处理注解信息.   Java使用java.lang.annotation.Annotation接口代表程序元素前面的注解,该接口是所有注解的父接口.Java5在java.lang.reflect包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解程序元素(就是哪些类可以被注解修饰).该接口主要有如下几个实现类. Class: 类定义 Constructor: 构…
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法combine_first()方法:合并重叠数据. pandas.merge()方法:数据库风格的合并   例如,通过merge()方法将两个DataFrame合并: on='name'的意思是将name列当作键: 默认情况下,merge做的是内连接(inner),即键的交集. 其他方式还有左连接(l…
基于上篇所介绍的内容,就说说如何利用访问到的网络数据集,在Map中添加网络数据集图层.创建网络分析图层中的路径图层,并执行路径分析示例.…
创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息. <html> <head> <script type="text/javascript"> function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf…
原文:ArcGIS中添加进自定义的ttf字符标记符号 ArcGIS系统中的样式可能不能满足实际生产需要,为了实现快速制图,可自定义一些样式,以便重复利用. 1.   制作的符号库 使用 FontCreator6.0工具制作ttf格式的arcgis的符号库.参考:Jingkunliu的ArcGIS使用字体文件制作符号库!这篇博客. 2.   安装ttf字体符号库 字体包中包含了自定义的一些符号样式,在正式使用样式之前,必须安装.ttf的字体包. 安装字体的包的方式有以下两种,二选一即可: 1) 找…
原文:ArcGIS网络分析之Silverlight客户端路径分析(三) 首先贴上最终的效果图: a.路径查询 2.最近设施点查询 3.服务区分析 说明: 1.以上的示例使用的数据是随意在ArcMap中创建的数据,也就是之前博文新建的数据,这里的单位和比例尺并不是实际的单位和比例尺.所以和底图的显示不一致,这里的底图只是为了增加显示的效果. 2.以上所以的实现基于之前的两篇关于网络分析的博文,在此推荐看一看. 3.以上示例的具体细节将会分别为大家讲解,欢迎大家相互交流,批评指正. 一.路径分析服务…
小故事 在开始讲这篇文章之前,我们来说一个小故事,纯素虚构(真实的存钱逻辑并非如此) 小刘发工资后,赶忙拿着现金去银行,准备把钱存起来,而与此同时,小刘的老婆刘嫂知道小刘的品性,知道他发工资的日子,也知道他喜欢一发工资就去银行存起来,担心小刘卡里存的钱太多拿去"大宝剑",于是,也去了银行,想趁着小刘把钱存进去后就把钱给取出来,省的夜长梦多. 小刘与刘嫂取得是两家不同的银行的ATM,所以两人没有碰面. 小刘插入银行卡存钱之前查询了自己的余额,ATM这样显示的: 与次同时,刘嫂也通过卡号和…
前言 为什么集合在存自定义类型时需要重写equals和hashCode? 1.先说List集合 List集合在存数据时是可以重复的但是 当我们需要判断一个对象是否在集合中存在时这样就有问题了! 因为我们通常判断一个对象是否在集合中存在只需要判断值就行   而List内部实现方法是用地址来进行判断的  因为我们在创建对象时即使是值都一样 但是内存地址不一样 所以也就无法判定 一个对象是否在另一个对象中存在     我们可以在自定义类中重写equals方法 只是值相等就证明该对象在集合中存在 2.在…
A表  基础信息表 B表 业务信息表 将a表中的基础数据 拼接到B表的后面, 应用场景是: B表很多数据,很繁乱,名字不一定全, A表也是比较多的行,B表乱:比如有8行有李晨的,却只有3行是范仲淹的,现在需要快速拼接: 方法一:不用函数,利用ctrl+Enter xls表格 ctrl+D 和ctrl+Enter区别 --快速填充相同数据,同时填充多个不同数据 - 海蓝steven - 博客园https://www.cnblogs.com/rogge7/p/8075115.html  --利用这博…
前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(ClosestFacilityTask)和服务区(ServiceAreaTask). 而这三个分析类依赖的是ArcGIS Server上的NAServer(网络分析服务),于是 如何发布NAServer,就成了我近期的研究事宜,所幸的是,这方面的资料非常丰富. 需要注意的是: NAServer依赖于M…
odoo 基础数据加载 这里介绍的odoo基础数据加载分两种方式,一种是演示数据加载,一种是默认数据加载,下面就是详细介绍 首先,当然是创建一个date文件夹 项目目录,右键自定义一个文件夹 XML数据定义格式 <record id="building_type0" model="building.document.folder"> <field name="name">局集团党委文件</field> <…