zoukankan      html  css  js  c++  java
  • 栅格数据空间分析之四基于栅格数据空间分析的选址

    野猫船舶公司的厂房寻址问题
    野猫船舶公司计划建造一个小型测试车间和办公楼来评估他们新的设计方案,条件要求是:
    1) 必须建在适宜修建房屋的土上(土壤适宜性为2或3)。
    2) 该地点不能有树木(为降低清场费用)。地方农业保护计划禁止改变耕地的用途,其他土地使用规划(城镇用地、荒地、湿地)也同样如此,因此适宜的土地覆盖类型必须是“灌木丛”(土地覆盖码为300);
    3) 地方法律禁止任意开发,新建筑必须在已有排污管网的300米范围之内;
    4) 最新的国家水质量保护要求水系20米范围内不得存在建筑物;

    5)为了提供足够的建筑物空间和用地,该地点的面积至少应该为4000平方米。

    0原始数据分析,原始数据包括溪流数据,排水管道数据,道路数据,土地利用数据,土壤适宜性数据。


    1作为矢量要素进行空间分析

    其方法流程为:

    1) 土地利用图层LANDUSE和土壤适宜性图层Soils进行求交Intersect,得到既具有土地利用属性也具有土壤属性的一个图层;
    2) 对水系图层Streams20米缓冲, 然后用擦去(erase)工具对1中的工具擦去水系20米范围内的区间;
    3) 对对排污管道图层sewer300米缓冲,然后用clip工具对2中得到的图层进行裁剪,得到符合在排污管道300米范围内的图层;
    4) 用属性选择工具选择土地利用编码为300,土壤适宜性为2或3的要素"LU_CODE" = 300 AND ( "SUIT" = 2 OR "SUIT" = 3 );
    5) 由于土壤不通过类型对应的都有可能是2或者3,在4中会出现两个多边形在一起共用一条边的情况,先用dissolve进行溶解,形成一个多部件要素,然后用MultipartToSinglepart工具,将多部件要素打散成单部件的。
    6) 用属性选择工具,选择面积大于4000的,输出为新的图层,既可以得到较佳的公司位置。
    得到的最终结果为:橘红色的地块就是
     

    如果基于栅格数据怎么解决这个问题呢?


    2 基于栅格数据的空间分析

    为了便于分析,首先设定栅格数据的分析范围,我们将landuse当做栅格数据的分析范围,如下图。


    其方法流程为:

    1) 将landuse图层、soils图层、streams图层、sewer图层利用Featur to Raster工具转化为栅格数据,landuse图层Field选择LU_CODE, soils图层Field选择SUIT, streams图层Field选择STRM_CODE, sewer图层Field选择DIAMETER。栅格单元大小设置为2;

    2)利用栅格扩展工具(Expand)对soils栅格图层和streams栅格图层进行扩展,如下:

    栅格单元大小为2,扩充20个单元格,对属性为1和2的都进行扩充

     

    栅格单元大小为2,扩充150个单元格,对属性为45和60的都进行扩充


    3) 对四个图层进行重分类:landuse栅格图层重分类时,只把属性为300的赋值为1,其他的全部赋值为0;soils栅格图层重分类时,把属性为2或3的赋值为1,其他的全部赋值为0;扩展后的streams图层属性为1或2的赋值为0,其他的赋值为1;扩展后的sewers图层属性外围45或60的赋值为1,其他的赋值为0;如下图示:

     


    利用栅格计算器,对四个图层进行相加


    利用Regin Group工具将分离的区域单独作为一个区域,并link属性

     

    利用Extract by Attribut提起属性值为4并且cout>=1000的区域,如下:

     

    结果如下:


    与矢量分析的作对比:


    可以看出比用矢量数据分析少了一块,什么原因呢?看一下Region Group后产生的结果:


     

    可以看出,这两块没有连在一起,或许也就差一个栅格。本身这块地块肯定不能满足偏心率比(周长除以面积的平方根)


    源数据下载地址


  • 相关阅读:
    LeetCode105 从前序遍历和中序遍历构造二叉树
    LeetCode61 扑克牌中的顺子
    LeetCode141 环形链表
    LeetCode103 二叉树的锯齿形层次遍历
    509 斐波那契数
    剑指29 顺时针打印矩阵
    malloc分配内存2种方式:brk和mmap
    Python学习第139天(Django的分页器(paginator))
    Python学习第138天(Django的用户认真组件)
    Python学习第137天(admin部分参数补充)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3167764.html
Copyright © 2011-2022 走看看