Archive for the Category: spatialite

使用ArcGIS制作virtualNetwork中的网络数据

在SpatiaLite VirtualNetwork 介绍文章中介绍了virtualNetwork,其中virtualNetwork的网络数据要求制作arc,并指出arc的起始节点和终止节点。 那么根据我们在GIS中获取地铁线路数据文中用的方法获取到的地铁数据如何制作一个能够进行网络分析的数据呢,方法很简单,使用ArcGIS。 1 打开ArcGIS,加载地铁线路数据和地铁站数据 2 检查并编辑数据,看一下换乘站和各线是否连通,由于数据不准确,会在后面的过程中造成问题。当然这个地方也可以使用arcgis的topo规则进行检查。 3 使用split line at point 工具将地铁线路使用地铁站打断,这样得到的每条线段即为一个arc,我们称之为arc图层。 4 下面计算arc的起始和终止节点,使用spatial join工具,将得到的arc图层和地铁站进行空间join,选择JOIN_TO_MANY,保证能把起始终点全部join。 在join后的结果列表arc_join中可以发现每个arc都都有两条结果,这两个结果不是按照线路的顺序来的,不过对于无向图,这个无所谓。 5 现在arc的起始和结束节点已经有了,但是存储在两条记录里,我们要把这些合并到一条记录里,打开arc_join的属性表,选择summarize,使用summarize来进行统计。选择地铁站名对应的字段,选择Fisrt和last。 统计结果(arc_join_sum)如下图,每个targetFID对应的起始和重点地铁站都在一条记录中了。 剩下来就比较简单了,使用属性join工具,将arc图层和arc_join_sum使用objectID 和targetFID进行关联,将地铁站名字段复制到arc图层。 再将arc图层和地铁站点图层根据地铁站名进行关联,把地铁站FID作为F_NODE和T_NODE进行赋值。  

Also posted in ArcGIS, shape file, Uncategorized Leave a comment

SpatiaLite VirtualNetwork 介绍

  SpatiaLite  VirtualNetwork 是SpatiaLite的一个扩展,通过SQL语句实现routing功能 SpatiaLite  VirtualNetwork实现了经典的 Dijkstra算法, Dijkstra算法介绍如下: 要使用这个模块,首先要building network,也就是要把网络拓扑构建出来,将地理数据映射到图论的拓扑结构中。 测试数据下载: test-network-2.3.sqlite 1 network需要的地理数据的基本结构如下: column name data type meaning PK_UID INTEGER the primary key identifying each arc F_NODE INTEGER the code identifying the arc’s start node T_NODE INTEGER the code identifying the arc’s end node Type TEXT the road category [i.e. highway, primary …] Speed INTEGER the estimated mean speed [Km/h] TravelTime DOUBLE the […]

Also posted in network, route Leave a comment

spatialite 介绍

spatialite 是一个基于sqlite的开源类库,改类库实现了sqlite的空间扩展,支持sql语句的空间操作。 目前spatialite的最新版本是3.0.1,官方主页为http://www.gaia-gis.it/gaia-sins/ 对于目前如火如荼的移动互联网来说,大部分移动平台都内置提供了sqlite的存储和访问,因此我们可以把spatialite编译到移动平台上,这样移动平台就有了空间数据的支持,并通过比较友好的方式进行数据的读取和存储。

Also posted in gis 1 Comment