精华内容
下载资源
问答
  • 多环缓冲区
    千次阅读
    2021-05-06 08:36:28

    1 最开始的要素类没有定义投影,然后报错:
    ERROR 999999: 执行函数时出错。
    输入数据的范围超出了经度 ±360 或纬度 ±90
    执行(Buffer)失败。
    就是没有投影的结果,最好不要用地理坐标系做

    2 ArcGIS做多环缓冲区报错:超出输出几何属性范围
    出现 坐标或测量值超出范围 的报错时,当要素的坐标超出要素类的属性域范围时会发生此错误。这种情况会在创建新要素或编辑现有要素的坐标时发生。
    坐标必须位于要素类 x,y 属性域以及 z 或 m 属性域(如果要素类可存储这些值)的范围内。属性域在创建要素类时设置并且无法在以后进行编辑。如果需要在该 x,y 位置或者使用这些 z 或 m 值创建新要素,可将要素类导出为新要素类并增加属性域值。
    对于此类问题
    简便办法 都可以导出为shapefile 之后 再导进来
    原文链接:https://blog.csdn.net/u013210343/article/details/19110603
    百度经验中的一条也可以参考:
    https://jingyan.baidu.com/article/a24b33cdb5f39a58ff002b20.html

    3 在把坐标系为GCS_1954的栅格或矢量图形转成WGS_1984_UTM_Zone_48N的过程都失败了,查了一下失败的原因
    有解答说是因为不能直接从投影转到地理坐标系,是需要基准面变换的。这个有点复杂,不同的坐标系的计算是不同的,但是我的地图学没有学好/(ㄒAㄒ)/所以需要在一开始就保证投影的坐标系要确定、选对

    更多相关内容
  • 任务说明:需要对地图文件进行要素转面,绘制缓冲区,最后面转线,需要处理的文件有一百个,手工处理费时费力,写一个脚本,批量自动转换import osimport timeimport arcpyfrom arcpy import envreadme = '''批量...

    任务说明:需要对地图文件进行要素转面,绘制缓冲区,最后面转线,需要处理的文件有一百多个,手工处理费时费力,写一个脚本,批量自动转换

    import os

    import time

    import arcpy

    from arcpy import env

    readme = '''批量绘制三级防御圈v1.0.1'''

    '''

    运行环境ArcGis10.7,python版本2.7

    '''

    # 要素转面

    def l2a(fn_in, fn_out):

    if os.path.exists(('%s.shp' % fn_out).decode('utf-8')):

    print('find:%s.shp' % fn_out)

    return

    if not fn_in.endswith('.shp'):

    fn_in += '.shp'

    arcpy.FeatureToPolygon_management(fn_in, fn_out, "", "NO_ATTRIBUTES", "")

    # 绘制缓冲区 单位:千米 Kilometers

    def zoom(fn_in, fn_out, i_zoom):

    if os.path.exists(('%s.shp' % fn_out).decode('utf-8')):

    print('find:%s' % fn_out)

    return

    if not fn_in.endswith('.shp'):

    fn_in += '.shp'

    # 缓冲区工具速度快,但无法合并重叠区域

    # arcpy.Buffer_analysis(fn_in, fn_out, "%s Kilometers" % i_zoom, "FULL", "ROUND", "ALL", "Distance")

    # 多环缓冲区工具速度慢,但可以合并重叠区域

    arcpy.MultipleRingBuffer_analysis(fn_in, fn_out, [i_zoom], "Kilometers", "", "ALL")

    # 面转线

    def a2l(fn_in, fn_out):

    if os.path.exists(('%s.shp' % fn_out).decode('utf-8')):

    print('find:%s' % fn_out)

    return

    if not fn_in.endswith('.shp'):

    fn_in += '.shp'

    arcpy.PolygonToLine_management(fn_in, fn_out, "IGNORE_NEIGHBORS")

    # 按照放大距离绘制缓冲区,单位千米

    def task(fn_in, i_zoom):

    print("input:%s" % fn_in)

    i_t = time.time()

    d1, f1 = os.path.split(fn_in)

    fn_area = '%s/%s' % (d1, f1.replace('.shp', '_temp'))

    l2a(fn_in, fn_area)

    print('used:%-10.3f save:%s' % (time.time() - i_t, fn_area))

    i_t = time.time()

    fn_area_zoom = '%s/%s' % (d1, f1.replace('.shp', '_temp_%skm' % i_zoom))

    zoom(fn_area, fn_area_zoom, i_zoom)

    print('used:%-10.3f save:%s' % (time.time() - i_t, fn_area_zoom))

    i_t = time.time()

    fn_line_zoom = '%s/%s' % (d1, f1.replace('.shp', '_%skm' % i_zoom))

    a2l(fn_area_zoom, fn_line_zoom)

    print('used:%-10.3f save:%s' % (time.time() - i_t, fn_line_zoom))

    # 遍历目录,批量处理线图.shp文件

    def check_dir(dir):

    ls = os.listdir(dir.decode('utf-8'))

    for l in ls:

    # print(l)

    dir2 = '%s/%s' % (dir, l.encode('utf-8'))

    # print(dir2)

    if os.path.isdir(dir2.decode('utf-8')):

    check_dir(dir2)

    if os.path.isfile(dir2.decode('utf-8')):

    if not dir2.endswith('.shp'):

    continue

    ls_skip = ['各县线图', '各城区线图', '青海县边界线图', '青海各市边界线图']

    if dir2.endswith('线图.shp') or ('西宁四区' in dir2 and dir2.endswith('区.shp')):

    b_skip = False

    for l_skip in ls_skip:

    if l_skip in dir2:

    b_skip = True

    break

    if not b_skip:

    print(dir2)

    fn_in = dir2

    task(fn_in, 50)

    task(fn_in, 100)

    # 批量执行

    def auto():

    dir = 'D:/arcgisfile_青海/线图'

    check_dir(dir)

    # 执行单个测试任务

    def test():

    dir = "D:/Program/Tem_Python/0010.WebConfig_py/0240.arcgis_shp2json/0003.src_arcgis/data"

    fn_in = '%s/xx县级线图.shp' % dir

    task(fn_in, 50)

    task(fn_in, 100)

    if __name__ == '__main__':

    # test()

    auto()

    展开全文
  • 多环缓冲地图使用ArcGIS怎么做?

    千次阅读 2021-01-04 13:00:13
    数据下载地址为: ...提取码:QGIS ...原文使用QGIS制作,在这里使用ArcGIS制作 1坐标变换 在ArcGIS中加载原始数据 将默认的WGS84坐标系转换为阿尔伯斯投影,第一第二标准纬线分别为25°N...2生成多环缓冲区 缓冲间隔为100km

    参考于:https://mp.weixin.qq.com/s/yQWkrceRPfmX2eLotJ830w
    数据下载地址为:
    https://pan.baidu.com/s/1f0vjK4Sy9XZXUDLPLIfkww
    提取码:QGIS
    压缩包解压密码:QGIS

    原文使用QGIS制作,在这里使用ArcGIS制作

    1坐标变换

    在ArcGIS中加载原始数据
    在这里插入图片描述将默认的WGS84坐标系转换为阿尔伯斯投影,第一第二标准纬线分别为25°N和47°N,中央经线为105°E。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    2生成多环缓冲区

    在这里插入图片描述缓冲间隔为100km
    在这里插入图片描述

    在这里插入图片描述
    进行标注

    在这里插入图片描述后面可以针对细节继续进行美化,这里不过多赘述

    展开全文
  • 此文件是对于C语言编写环形缓冲区的编写,如何对于学习的指针使用,写一个自己的环形缓冲区,很哟意思,我得思路比较复杂,希望有好方法的交流一下,我也学习一下
  • C语言环形缓冲区

    2017-03-10 20:29:31
    C语言实现环形缓冲区,可供线程读写操作
  • GIS与地质灾害评价——缓冲区分析

    千次阅读 多人点赞 2021-08-13 18:52:36
    2.Analysis Tool ——领域分析——多环缓冲区——选择水系——分别输入300,600,900m,以此建立缓冲区。缓冲单位选择meters,字段选择distance。 3.选择合适的输出路径,并点击确定 ,结果如下图所示。 4.关闭...

         在地质灾害评价中大多都会选取断裂和河流等因子,而河流、断裂等线性的因子在gis最常用的方法就是做缓冲区分析,下边我们就以某县域内的河流做缓冲区分析。(注意:做缓冲区处理时,最好在投影坐标系下进行)

    1.首先打开arcmap,加载一个县域的面文件和县域内的水系文件。

     2.Analysis Tool ——领域分析——多环缓冲区——选择水系——分别输入300,600,900m,以此建立缓冲区。缓冲单位选择meters,字段选择distance。

    3.选择合适的输出路径,并点击确定 ,结果如下图所示。

    4.关闭我们的面文件,可以看到我们的水系缓冲区如下图所示: 

     5.接下来我们就是要檫除县域面文件中和我们缓冲区重叠部分 。步奏如下:Analysis  Tool——叠加分析——檫除

    6.点击确定,并关闭我们的面文件和缓冲区文件 ,被水系缓冲区檫除后的面文件就如下图所示

    7.接下来我们要做的就是将我们水系缓冲区和檫除后的面文件合并到一起。具体操作如下:地理处理——合并——选择我们要合并的要素。如下图:

     8.点击确定,我们的合并文件如下图所示:

     9.接下来要对我们合并文件超出县域的地方进行裁剪:地理处理——裁剪——依次选择我们要处理的文件。

     

     10.点击确定,结果如下图:

     11.我们地质灾害评价是常以栅格为评价单元,因此我们要将我们的缓冲区面文件转换为栅格文件;具体操作如下:Conversion Tool——转为栅格——面转栅格

    11. 转换后的结果如下:0表示 河流大于900米,300表示在河流三百米以内。。。。。。。。

     

     我们可以右击打开栅格数据的属性表查看距水系不同距离的栅格数

     12.对我们的栅格数据 进行重分类:Spatial analysis ——重分类——重分类

     选择合适的保存路径,并点击确定,重分类就完成了

     地质灾害评价中河流的数据的缓冲区处理到此就结束了,此数据就可以用于我们以后的叠加分析中去。

    展开全文
  • 从数据预处理入手,将无投影坐标的数据定义投影,以建立缓冲区与叠置分析为实验方法,采用加权的思想;根据新加油站选址要远离已有加油站、河流与铁路的需求,创建不同尺度的缓冲区,并按距离越远权重越大的规则赋值...
  • 是一个提供了魔术环缓冲区(也称为虚拟环缓冲区,VRB或镜像缓冲区)的Rust板条箱,该环对于个生产者和单个消费者都是无锁的。 魔术环形缓冲区允许环形缓冲区的“环绕”,而无需使用两个单独的读取或两个单独的...
  • 缓冲区制作轮廓
  • 关于arcgis缓冲区的介绍很了,这个工具的用法也很简单,这里我举一个稍微有意思一点的案例:中印国境缓冲区的建立 如图是中国和印度某个省的行政区划 然后找到工作目录(如下图所示的位置,arcgis的最右侧) 接着...
  • 最近自己项目用到的一个缓冲区,理论上支持线程在自己的线程项目测试过,暂时没有问题下面科普下环形缓冲区在内存里的变化: 环形缓冲区首先从空开始并具有设置的长度;在下图中,是一个7字节的缓冲区: 假设在...
  • ArcGIS创建缓冲区并相交融合

    千次阅读 2019-08-20 10:12:25
    ArcGIS的点要素可以根据要求生成缓冲区。 背景: 缓冲区发生相交的点,可视为有相关性,需要连接在一起思考。 在12万个点中,找出有相关性的点,则需要一些步骤来完成。 制作逻辑如下: 1.所有点在一个点图层...
  • arcgis缓冲区及遇到的坑

    千次阅读 2020-11-24 20:16:16
    缓冲区 最近要做一个搜索周边的功能,为了让用户看到范围,我想到了缓冲区,首先我们先了解一下几何图形 几何图形 几何图形中中常用的就是 点,我们这里说两种【“esri/geometry/Point”】和【“esri/Graphic”】 ...
  • 利用ArcEngine向地图中添加缓冲区
  • ArcGIS学习总结(四)——缓冲区分析应用

    万次阅读 多人点赞 2019-06-02 11:09:58
    1. 距离制图-创建缓冲区 1.1 点要素图层的缓冲区分析 在 ArcMap 中新建地图文档,加载图层:StudyArea ,point 打开 Arctoolbox,执行命令<Spatial Analyst Tools>-<Distance>-<欧几里德距离>...
  • 在使用ARCGIS制图时,为了让行政边界呈现出颜射渐变的层次效果(如下图所示),可以使用多层缓冲区分析工具进行。 具体步骤如下:在arcmap中打开ArcToolBox工具箱,选择“分析工具(analsysis Tools)”,“临近分析...
  • ArcGIS【欧氏距离】与【缓冲区分析】的简单区分 在ArcGIS中,当我们需要进行一些有关距离的分析的时候,常常用到两个工具,即【欧氏距离】与【缓冲区】。那么这两个作用相似的工具又有什么区别呢?我们什么时候又要...
  • 【实验描述】缓冲区(Buffer)是为了识别某一地理实体对周围地物的影响而在其周围建立的一定宽度多边形区域,缓冲区分析(Buffer Analysis)是用来确定不同地理要素的空间临近性或接近程度的一种分析方法。...
  • 2、使用多环缓冲工具,制作采样点的不同缓冲区,缓冲距离根据自己需求设置,一定要选择不融合选项。 3、使用标识工具,用土地分类数据标识采样点缓冲区数据 4、导出标识后的采样点缓冲区属性表,然后在excel中...
  • env.workspace = "D:/0/qingdao.gdb" # 缓冲区分析、xzq输入要素类名称、Buffered1输出要素名称,100 Feet缓冲参数。 arcpy.Buffer_analysis("xzq", "Buffered1", "100 Feet", "FULL", "ROUND", "LIST") '\n' # ...
  • 环形缓冲区

    千次阅读 2015-12-03 14:35:58
    环形缓冲区的基本概念环形缓冲区的基本概念来自Wikipedia:环形缓冲器圆形缓冲区(circular buffer),也称作圆形队列(circular queue),循环缓冲区(cyclic buffer),环形缓冲区(ring buffer),是一种用于表示...
  • 一、实验目的 1. 理解缓冲区分析和叠置分析的基本原理。 2. 学习缓冲区分析、利用Arc Toolbox进行叠加分析的操作。 3. 掌握如何合理利用空间分析中的缓冲区分析和叠置分析解决实际问题。
  • 比如,对一个多边形生成一个5公里的缓冲区,结果发现,新生成的缓冲区中有空洞/孔洞,如下图所示: 事实上呢,问题还不止于此,用肉眼即可看出,在不同的地方,缓冲区与原图形的间距是不一样的。反复试验次以后,...
  • STM32串口开发之环形缓冲区

    千次阅读 热门讨论 2021-07-07 00:09:24
    实现缓冲区最简单的办法时,定义个数组,接收一包数据到数组A,就把接收数据的地址换成数组B,每个数据有个标记字节用于表示这个数组是否收到数据,收到数据是否处理完成。 上述方案是完全可行的,但有缺点: ①...
  • 单片机的应用越来越广泛,而实际应用中对单片机的要求也越来越高。人们总是希望单片机成本尽可能的低,功耗尽可能的低,处理能力又要尽可能的强。这三者是相互矛盾的。
  • 队列1-环形缓冲区

    千次阅读 2019-01-27 16:58:34
    本篇为队列的第一篇文章,介绍基于数组结构的一个环形缓冲区队列。我觉得没有必要再从数组来写起,毕竟对于数组本身来说,我觉得是没有太可说的,但是基于数组的数据结构就有的说了。 什么是环形缓冲区 环形缓冲...
  • 环形缓冲区线程安全和非线程安全的固定大小,模板化,STL样式的atomic_ringbuffer.hpp缓冲区(分别为atomic_ringbuffer.hpp和ringbuffer.hpp )的单头C ++实现。 两种版本均完全支持RAII / RRID,并在可能的情况下...
  • 环形缓冲

    千次阅读 2019-06-02 21:02:38
    环形缓冲器(ringr buffer),也称作圆形队列(circular queue),循环缓冲区(cyclic buffer),圆形缓冲区(circula buffer),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。...
  • Qt实现环形缓冲区

    2019-12-17 22:18:12
    虽然互斥锁只能被锁定一次,但是可以获得一个信号量次。信号量通常用于保护一定数量的相同资源。信号量支持两个基本操作,acquire()和release(): acquire(n) 获取n个资源。如果没有那么可用资源,调用将阻塞; ...
  • Ring Buffers (环形消息缓冲区)

    千次阅读 2020-07-30 09:42:08
    即环形缓冲区:添加环形缓冲区是为了提供一种可以接受任意长度条目的缓冲区形式。 (内存管理)是一种数据结构用于表示一个固定尺寸、头尾相连的缓冲区,适合缓存数据流。内部除维护一个环形缓冲区外,还有两个二值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,137
精华内容 15,254
关键字:

多环缓冲区