前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Ecosystems:生态学中的空间显式模型综述

Ecosystems:生态学中的空间显式模型综述

作者头像
Listenlii-生物信息知识分享
发布于 2021-03-26 07:11:40
发布于 2021-03-26 07:11:40
3K0
举报

Journal: Ecosystems

IF: 4.207

Link:

https://link.springer.com/article/10.1007/s10021-016-0066-z

提到了空间显式和空间隐式的概念。搜了一下找到了这篇综述。主要写了关于概念的部分,综述主体都是例子略过不写。

摘要:

过去的20年空间显式模型(spatially explicit models,SEMs)在生态学中的应用得到了极大的发展。

由于计算机技术的进步,现在可以非常精确地模拟景观的精细尺度细节,以及依赖于空间的生物过程,如扩散和入侵。许多模型已经转向关注捕捉这些精细尺度的细节,以提高对生态系统的机理理解。

然而空间隐式模型(spatially implicit models,SIMs)在生态学中起着主导作用,它只考虑空间效应而不明确空间位置,具有更简单、适用范围更广的优势。

本综述比较了SEMs和SIMs。

作者认为,尽管SIMs在整合理论生态学空间上一直占主导地位,SEMs具有解决有关物种种群实际问题的独特优势。因为当地条件,如空间异构性问题,生物行为和其他突发事件通常不能纳入模式简单的SIMs。

此外SEMs还能够描述在局部尺度上的机制,在该尺度上创造放大的正反馈,在更大尺度上创造不断涌现的模式,因此对基本生态理论很重要。

从种群、相互作用种群、食物网和生态系统的层面回顾了SEMs的使用,认为SEMs不仅在实用问题中至关重要,而且在理解景观的因果关系中也必须发挥作用。

背景

对模式和尺度的理解是生态学的核心问题(Levin 1992)。

生态学中的模型沿着一个可以被称为实用理论的轴线发展。使用模型类型有很大的不同,这取决于所提出的问题是更理论化还是更实用化。

实用主义的模型通常是为管理目标开发的,通常对特定人群、群落或生态系统进行模拟。模型旨在对生态现象进行一般性解释,如空间显式模型

实用建模与“景观生态学”领域相关,实用主义模型往往是复杂的、特定于地点的,并使用明确的空间计算机模拟。在这类模型中,精确的空间位置很重要,因为在管理中需要具体的预测。如估计污染物在环境中的扩散和生物影响,这需要在空间上明确和非常详细的模型。

另一方面,旨在发展理论的模型往往是空间隐式的。理论家们试图尽可能地简化模型,而空间属性,如分散性、斑块性、聚集程度和组件之间的距离,通常可以在数学上以不需要考虑特定位置或详细的空间配置的方式合并。许多重要的空间生态学理论概念都以空间隐式建模的形式历史地表达出来,包括理想物种分布的自由分布假说、临界斑块大小,群落的空间传播、source-sink理论、物种共存的空间储存效应、生物多样性中性理论(Hubbell 2001)、物种丰富度的竞争-殖民权衡理论。

空间显式模型的重要性

简单来说,作者举了几个例子,说明了模型中考虑精细尺度信息的重要性。但他们也提出了一个问题,即多大程度的精细尺度细节是必要的和/或足够的。这个问题的答案取决于对模型的准确理解和预期的预测水平。

面向模式建模(pattern-oriented Modeling,POM)方法提供了一些答案。POM提出,应该包含足够的精细尺度过程信息,以便模型在精细尺度和大规模尺度上与几个观察到的模式一致。

为了进一步说明SEMs的优点,接下来选定几个了生态学领域进一步举例。例子略过。

植被格局

植被格局是近年来生态学研究中最受关注的空间模型之一。讨论了两种主要模式类型:植被群落结构和植被空间结构。

高营养水平种群

种群生态学是一个高度数学化的领域。模型阐明了生活史和环境的各种因素如何影响种群动态。

捕食者-猎物和食物网模式

植物聚集等微尺度现象是植物动态变化的重要因素,可以通过SEMs模拟;动物运动行为也可以形成复杂的空间格局,进而引发宏观效应。

生态系统模式与过程

生态系统生态学是研究能量流、养分动态和初级生产力的学科。在空间上扩展生态系统生态的一个主要推动力是认识到不同类型的生态系统通过营养物质、碎屑和生物生物量的通量之间的联系。

讨论

生态学中的空间模型在很大程度上已经走向了不同的方向:应用或实际问题的空间模型向SEMs方向发展,理论问题的空间模型向SIMs方向发展。

理论家们并没有忽视小尺度的重要性。正如Levin(1992)所指出的那样,“模式必须被理解为来自小尺度单元的大型集合的集体行为”,并且“简化、聚集和缩放的法则”必须被开发出来。然而所讨论的小规模单位的正反馈过程并不是总能够轻易地集中和平滑。它们引起的意外效应必须经常在因果过程的规模上进行研究。这不仅对应用很重要,而且对理论的进展也很重要,因为理论必须以基本的因果过程为基础。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Listenlii 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Netty在Dubbo中的使用过程源码分析
最近项目中使用了netty服务,空余时间差了下dubbo中是如何使用netty做底层服务的,找了相关资料记录一下:
小勇DW3
2020/04/26
7850
Java学习笔记——dubbo服务之底层通讯协议Protocol
我们先来找到通讯协议的入口点吧。通过Protocol接口查找通讯协议入口点,我们根据接口的export方法搜索发现入口了,在ServiceConfig的doExportUrlsFor1Protocol方法,如下图:
慕容千语
2019/06/11
1.2K0
dubbo源码学习(四):暴露服务的过程
dubbo采用的nio异步的通信,通信协议默认为 netty,当然也可以选择 mina,grizzy。在服务端(provider)在启动时主要是开启netty监听,在zookeeper上注册服务节点,处理消费者请求,返回处理后的消息给消费者,消费者使用服务时主要是订阅服务的节点,监听zookeeper节点目录,服务端的变化时zookeeper会推送给消费者,消费者重新缓存服务地址等。服务者、消费者、zookeeper三者之间都是长连接。
BUG弄潮儿
2022/06/30
3150
dubbo源码学习(四):暴露服务的过程
源码分析Dubbo服务提供者启动流程-下篇
本文继续上文Dubbo服务提供者启动流程,在上篇文章中详细梳理了基于dubbo spring文件的配置方式,Dubbo是如何加载配置文件,服务提供者dubbo:service标签服务暴露全流程,本节重点关注RegistryProtocol#export中调用doLocalExport方法,根据服务暴露协议建立网络通讯服务器,在特定端口建立监听,监听来自消息消费端服务的请求。
丁威
2019/06/10
8050
源码分析Dubbo服务提供者启动流程-下篇
dubbo服务暴露过程源码分析
本例以一个简单典型的服务发布为例,spring配置如下 //dubbo协议 <dubbo:protocol name="dubbo" port="20880" id="dubbo1"/> //zk注册中心 <dubbo:registry id="hangzhouRegistry" address="zookeeper://192.168.64.128:2181"/> <dubbo:service interface="demo.dubbo.api.DemoService" ref="dem
技术蓝海
2018/04/26
2K0
手写dubbo 10-基于netty实现RPC
博客中代码地址:https://github.com/farliu/farpc.git
并发笔记
2020/11/09
1.2K0
【DUBBO】 服务引用RegistryDirectory
实现了FactoryBean接口,所以在获取实例的时候,实际上是调用getObject方法返回实例。这里面的get方法继承自ReferenceConfig类
spilledyear
2018/12/24
8400
Dubbo性能调优参数及原理
其中,Constants.DEFAULT_QUEUES = 200。threads 参数配置的是业务处理线程池的最大(或核心)线程数。
烂猪皮
2018/08/03
1.8K0
Dubbo性能调优参数及原理
源码分析Dubbo NettyServer与HeaderExchangeServer
本文主要分析一下NettyServer,HeaderExchangeServer实现细节。
丁威
2019/06/10
7000
源码分析Dubbo NettyServer与HeaderExchangeServer
dubbo源码学习三——暴露服务exporter、invoker
前面我们知道通过自定义标签,我们可以定位到相关标签的解析,同时梳理出三个重要的bean:ServiceBean、ReferenceBean、ConfigCenterBean。而通过Servicebean,可以看到ServiceConfig中有我们关注的export方法,而通过export,我们可以看到其暴露服务,又分为本地暴露和远程暴露两种,而暴露之前,会进行配置的检查,然后进行url的组装操作,接着进行exporter,而暴露之前,会进行getInvoker操作。而在getInvoker操作中,首先会进行适配,然后进行动态代理模板生成,生成class文件。而export操作中,进入到RegisterProtocol中,export又分为暴露doLocalExport(originInvoker, providerUrl)——>protocol.export(invokerDelegate)——>DubboProtocol#export(Invoker<T> invoker),完成配置的放入map之后,进行服务器开启openServer(url),进行双重校验创建服务器createServer(url)-——> Exchangers.bind(url, requestHandler)——>getExchanger(url).bind(url, handler)——>HanderExchanger#bind(URL url, ExchangeHandler handler)——>Transporters.bind(url, new DecodeHandler(new HeaderExchangeHandler(handler)))——> getTransporter().bind(url, handler)——>NettyTransporter#NettyServer(url, listener)——>NettyServer#doOpen()_——>ServerBootstrap# bind(final SocketAddress localAddress),进行配置的和注册、订阅过程。暴露的过程又是首先进行适配,然后适配之后,进行到dubboProtocol中,进行getInvoker操作。
路行的亚洲
2020/07/17
1.5K0
《Dubbo进阶一》——RPC协议底层原理
在一个典型的RPC的使用场景中,包含了服务发现、负载、容错、序列化和网络传输等组件,其中RPC协议指明了程序如何进行序列化和网络传输,也就是说一个RPC协议的实现等于一个非透明的RPC调用。
全栈程序员站长
2022/08/30
6990
《Dubbo进阶一》——RPC协议底层原理
Dubbo系列四之dubbo协议数据收发细节
由之前的文章可知,Consumer最终在生成DubboInvoker时,会生成对应的客户端连接,如下
用户9511949
2024/08/09
1560
Dubbo 编解码那些事
笔者在一次维护基础公共组件的过程中,不小心修改了类的包路径。糟糕的是,这个类被各业务在facade中进行了引用、传递。幸运的是,同一个类,在提供者和消费者的包路径不一致,没有引起各业务报错。
2020labs小助手
2021/04/13
7260
源码分析Dubbo服务调用-服务提供者如何处理请求命令与再谈Invoker
本文将重点剖析服务调用流程,也就是消费端通过网络发起RPC服务调用时,服务提供者是如何进行服务请求响应的。
丁威
2019/06/10
5810
源码分析Dubbo服务调用-服务提供者如何处理请求命令与再谈Invoker
Dubbo RPC在consumer端是如何跑起来的
在分析dubbo consumer端的RPC实现之前,首先来看下dubbo的整体架构,有个整体概念。
luoxn28
2020/07/10
9780
Dubbo RPC在consumer端是如何跑起来的
Netty 的 Channel、Promise、Pipeline 详解
首先通过一个示例来分析,创建一个 NioServerSocketChannel 监听本机端口 11111 的 Socket 连接,将收到的消息原样返回;然后再创建一个 NioSocketChannel,发起对本机的 11111 端口的 Socket 连接,发送字符串 ”Netty rocks!“。预期能收到服务端返回的 “Netty rocks!” 响应。
Yano_nankai
2019/11/10
4.3K0
Netty 的 Channel、Promise、Pipeline 详解
dubbo provider是如何启动的
Netty支持多种服务端的server实例,包括mina、netty等,如下所示:
luoxn28
2020/07/14
4030
Dubbo 源码分析 - 服务导出全过程解析
本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一是前置工作,主要用于检查参数,组装 URL。第二是导出服务,包含导出服务到本地 (JVM),和导出服务到远程两个过程。第三是向注册中心注册服务,用于服务发现。本篇文章将会对这三个部分代码进行详细的分析,在分析之前,我们先来了解一下服务的导出过程。
田小波
2018/12/05
6920
Dubbo 源码分析 - 服务导出全过程解析
dubbo消费方服务调用过程源码分析
dubbo PRC服务调用过程很复杂,这里准备通过分析一个典型rpc方法调用的调用栈来说明调用过程。说它典型,是因为本次分析的调用场景很典型简单 先定义一个接口 public interface DemoService { public String sayHello(String name); } 然后一个服务实现类 public class DemoServiceImpl implements DemoService { public String sayHello(S
技术蓝海
2018/04/26
5.5K4
Dubbo源码学习五-服务发现
从类图中,我们可以看到ReferenceBean继承了Referenceconfig,同时实现了FactoryBean、DisposableBean、ApplicationContextAware、InitializingBean,因此可以看到里面会有相应的aware方法、相应的destroy方法、 AfterPropertiesSet方法,这里我们重点关注AfterPropertiesSet方法。因为其是spring留给我们进行扩展的一个通道。
路行的亚洲
2020/07/17
9710
推荐阅读
相关推荐
Netty在Dubbo中的使用过程源码分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档