摘要: 闲暇之余了解了下pgrouting对有向图的路径计算, 正好官网有篇介绍处理“one—way”情况下的路径计算:http://www.pgrouting.org/docs/howto/oneway.html 下面我就一份无锡地图来做下相关学习: 对软件的安装这就不做介绍了,使用的软件版本和Introduction to PostGIS 之最优路径 是一样的。 我手上的地图数据是tab格式的为了保证导入数据库数据的完整性,我把tab转shp后在导入数据库。(tab转shp:mapinfo软件自带一个转换工具如下图) 把转换后的shp数据加载到ArcMap中入下图: 因为要在数据库中对道路建立拓扑 阅读全文
posted @ 2011-11-20 17:59 fengl 阅读(1285) 评论(1) 推荐(1) 编辑
摘要: Openlayers中加载大数据量的vectors时 其渲染效果就会很差,解决这一问题的有效方法就是对这些vectors进行Cluster在Openlayers的官方Examples中有相关的示例:http://openlayers.org/dev/examples/strategy-cluster-threshold.html 我对这个示例做了下修改 使其clusterfeature加上lables(集聚的feature显示集聚数,没有集聚的显示自身属性),主要添加的代码如下红色部分: 1 var style = new OpenLayers.Style({ 2 ... 阅读全文
posted @ 2011-11-02 09:18 fengl 阅读(2161) 评论(2) 推荐(0) 编辑
摘要: 这几天研究了下postgis的拓展插件pgrouting(http://www.pgrouting.org/)。 首先到官网下载pgrouting(注意版本对应,当前支持最高版本的postgis为8.4): 然后把下载的pgrouting下doc lib share三个文件夹里的文件拷到postgresql安装文件夹的相应目录里面。然后打开postgresql 执行pgRouting-1.03_pg-8.4.2\Share\Contrib下的3个sql文件 安装完算法之后我们就可以开始做最优路径分析了: 首先对已有的道路表添加source target length 分别代表 道路的起点i.. 阅读全文
posted @ 2011-09-15 13:58 fengl 阅读(2699) 评论(8) 推荐(1) 编辑
摘要: 上一篇中主要介绍了ST_SnapToGrid,现在我们用前几篇文中的features表来做下应用:简要介绍下用到的方法:geometry ST_Collect(geometry[] g1_array);把一系列geometries组合为单个ST_Geometry(旧版本称为GEOMETRYCOLLECTION).geometry ST_Multi(geometry g1);把g1转化为一个MULTI* geometry。和前几篇方法一样,连接数据库,打开查询可视化框,添加如下SQL:SELECT ST_Multi(ST_Collect(the_geom)) As the_geom , ST_a 阅读全文
posted @ 2011-07-19 13:20 fengl 阅读(866) 评论(0) 推荐(0) 编辑
摘要: Clustering:聚集、分类归并的意思。在PostGIS中有两个地方会涉及到这个词,虽然这两处使用相同的术语,但表示不同的意思,一个是Index clustering,另一个就是下面要介绍的Spatial Clustering。Spatial Clustering:这个通常用在点类型上,可以把一些点通过邻近性或其他特点聚集到一起。实现这个主要用到了ST_SnapToGrid这个方法,下面就介绍下ST_SnapToGrid: 将用到以下几个方法: boolean ST_Overlaps(geometry A, geometry B); 判断Geometries是否有交汇并不是完全包含。 b. 阅读全文
posted @ 2011-07-18 12:58 fengl 阅读(2034) 评论(0) 推荐(0) 编辑
摘要: 今天学习了postGIS中的两个很有用的方法: ST_Line_Interpolate_Pointgeometry ST_Line_Interpolate_Point(geometry a_linestring, float a_fraction):返回线上内插的一个点返回线上20%处得一个点ST_Line_Locate_Point float ST_Line_Locate_Point(geometry a_linestring, geometry a_point):返回a_point离a_linestring在上最近的点位置(这个位置表示为一个0到1浮点数)。点具体的位置我们可以使用前面介绍 阅读全文
posted @ 2011-07-05 15:29 fengl 阅读(2505) 评论(0) 推荐(0) 编辑
摘要: 哪些格式的空间数据可以导入到PostGIS呢?肯定很多了,我的数据源是shp格式,就直接选用安装完POSTGIS模块就有的PostGIS Shapefile and DBF Loader。如果你用的是其他格式的可以转到shp然后再导,当然也可以直接导,直接导的话有这样一个工具ogr2gui(http://sourceforge.net/projects/ogr2gui/)。 ogr2gui是基于ogr2ogr的GUI界面,就不用去写复杂的命令行了,去了解下吧! 下面我们就开始导数据了 1.首先新建一个数据库island: 2.然后打开PostGIS Shapefile and DBF Loa. 阅读全文
posted @ 2011-07-04 15:21 fengl 阅读(1534) 评论(3) 推荐(1) 编辑
摘要: PostGIS (http://postgis.refractions.net/)是对象关系型数据库系统PostGreSQL对空间数据的一个拓展。PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。PostGreSQL的空间拓展? 我们来和ArcGIS对比下: 看下将要所使用的PostGIS和PostGreSQL的版本: 执行下面语句:SELECT postgis_full_version();和SELECT version(); 得到如下结果: 在以后的篇幅中将介绍PostGIS中的主要方法和与其他开源软件的联合 阅读全文
posted @ 2011-07-01 16:38 fengl 阅读(939) 评论(3) 推荐(3) 编辑
摘要: 第一步. 在Sketch UP 中创建三维建筑物: 创建三维建筑物可能大多数想到的都是强大的3DMax,但我在这推荐下简练的Sketch UP。下面这个就是创建好的三维模型,看上去有点灰不溜秋的(因为没做渲染处理)。 模型创建好了以后,就可以把模型调到一个合适的角度,然后导出2D Graphic保存为jpg格式。第二步. 使用MapCruncher进行地图切片 在这我们使用微软提供的地图切片工具MapCruncher,下载地址:http://research.microsoft.com/en-us/um/redmond/projects/mapcruncher/ 里面也有具体的教材,在这我就做 阅读全文
posted @ 2011-06-04 13:25 fengl 阅读(1690) 评论(6) 推荐(1) 编辑