零售引力模型_第1页
零售引力模型_第2页
零售引力模型_第3页
零售引力模型_第4页
零售引力模型_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——零售引力模型

最近我们一直在开发基于Java的软件组件集合的土地使用领域

交通建模。该系统被设计用于集成各种开源工具对于未来城市的快速评估。我们利用广泛的面向对象技术实施的总体框架和数据交换的环境,有潜力像GIS,仿真模型,管理工具,数据库和其他外部嵌入常见的子系统数据源。

在这篇文章中,我将介绍如何在Java平台上使用运行空间相互作用模型基本库,我们已经开发的背景下,拟。该库定义了一组类代表一组可能行为的空间交互模型基于威尔逊(1972)。

可能是从设计的角度来看这个库的更好玩儿的部分之一是利用策略模式来实现空间互动模式的家庭。这些行为应当是柔性的,以被插入到一个应用程序,改变在飞行的功能。UML类图如下所示:

基于UML类图上,有四种方式来执行空间相互作用的运行模型(重力,生产约束,吸引力约束和双约束)和两个的方式来执行该行程成本矩阵的一般化(反幂函数和负指数函数)。

SpatialInteractionModel-这是将使用不同的策略来运行的类模型。它使一个参考ISpatialInterationModel实例。该类使用setTypeOfSpatialInteractionModel方法,以取代目前的策略与其他策略。还将使用不同的策略使用该方法来计算广义的旅行费用setTypeOfDistanceFunction。

ISpatialInteractionModel-该接口定义了所有可用的方法SpatialInteractionModel使用。GravityModel

ProductionConstrainedModel

,和

AttractionConstrainedModel

ProductionAttractionConstrainedModel-这些类实现ISpatialInteractionModel接口使用特定的一组的每个calculateInteractions方法的规则。

InversePowerFunction和NegativeExponentialFunction-这些类实现使用特定的规则对每个calculateDistanceFuntionIDistanceFunction接口方法。

从哪里开始?

本快速指南介绍了在Eclipse中我们的空间相互作用模型库的使用作为JavaIDE。

为实现本教程是必要熟悉空间的基本概念交互模式和与Java面向对象编程和使用的EclipseIDE中。假使你不熟悉的空间相互作用的模型,我会建议你先阅读本文章艾伦·威尔逊爵士教授。假使你不熟悉的EclipseIDE,我会建议你先试试这个教程由拉尔斯沃格尔。二手库

本教程的发展将需要以下工具对于空间相互作用的模型,我们会从我们的谷歌使用最新的jar文件代码项目主页CASA-拟。

第1步:定义问题

为了解释如何运行空间相互作用的模型与我们的图书馆,我们会考虑的问题预计流四区城市之间的购物支出。购物支出数据为四区城市将是:每周的购物支出(GBP)纬向零售楼面(平方米)区域之间的旅行费用

第2步:导入项目到Eclipse中

首先,你需要下载我们已经准备了本指南从这里开始的Eclipse项目。

启动Eclipse后,从菜单中选择文件->导入。

在导入向导中选择“现有项目到工作区〞,然后单击下一步。选择“选择存档文件〞选项,并点击浏览选择你刚下载文件。选择文件后单击Finish项目导入到工作区。一个新的项目创立并显示在ProjectExplorer视图中的文件夹。开启相应的文件夹在“uk.ac.ucl.casa.simulacra.first〞项目。

选择文件夹SRC,选择包“uk.ac.ucl.casa.simulacra.first〞,然后开启类MyFirstSpatialInteractionModel。这个类应当是这样的:

包uk.ac.ucl.casa.simulacra.first;

公共类MyFirst空间交互模型{

/**

*@参数的args*/

公共静态无效的主要(字串[]args){//TODO自动生成方法存根

双[]shoppingExpenditure={}355455255570;双[]retailFloorspace={}720376930321;

双[][]travelCost={{3,11,18,22},{12,3,13,19},{15,13,5,7},{24,18,8,5}};}}

注意,在第1步类已经宣布该问题的定义相关的变量。

步骤3.创立一个空间相互作用的模型对象要创立空间相互作用模型中,我们只需要在以下行后添加几行

双[][]travelCost={{3,11,18,22},{12,3,13,19},{15,13,5,7},{24,18,8,5}};该行是

SpatialInteractionModel模式=新SpatialInteractionModel(shoppingExpenditure,retailFloorspace);model.setTypeSpatialInteractionModelAttractionConstrainedModel());

model.setTypeDistanceFunction(新NegativeExponentialFunction());

第4步:运行模型并打印结果

要获得预计的行程矩阵购物支出流向了四圈的城市,我们只是需要用下面的代码行运行模式

双[][]tripMatrix=model.calculateInteractions(travelCost,0.1);需要注意的是运行模式,calculateInteractions()方法需要的参数,travelCost它已被定义以及摩擦参数。对于本教程的目的,我们将使用一个天真的方式来分派摩擦参数的值,我们将简单的猜测值。

在下面的文章中,我们将探讨不同的方法实现计算更好估计摩擦参数。

现在,我们只需要打印的购物支出流量增加的预计行程矩阵下面几行

System.out.println(\for(inti=0;iMyFirstSpatialInteractionModel.javaeditor->Runas->JavaApplciation

Attheendyourclassshouldlooklike:packageuk.ac.ucl.casa.simulacra.first;import

uk.ac.ucl.casa.scale.spatialinteraction.exception.SpatialUnitsException;import

uk.ac.ucl.casa.scale.spatialinteraction.model.AttractionConstrainedModel;import

uk.ac.ucl.casa.scale.spatialinteraction.model.NegativeExponentialFunction;import

uk.ac.ucl.casa.scale.spatialinteraction.model.SpatialInteractionModel;

publicclassMyFirstSpatialInteractionModel{/**

*@paramargs

*@throwsSpatialUnitsException*/

publicstaticvoidmain(String[]args)throws

SpatialUnitsException{

//TODOAuto-generatedmethodstub

double[]shoppingExpenditure={355,455,255,570};double[]retailFloorspace={720,376,930,321};double[][]travelCost=

{{3,11,18,22},{12,3,13,19},{15,13,5,7},{24,18,8,5}};SpatialInteractionModelmodel=new

SpatialInteractionModel(shoppingExpenditure,retailFloorspace);

model.setTypeSpatialInteractionModel(newAttraction

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论