一种利用matlab进行物流gis中空间分析的系统实现方法

文档序号:6469409阅读:443来源:国知局
专利名称:一种利用matlab进行物流gis中空间分析的系统实现方法
技术领域
本发明涉及一种物流GIS (地理信息系统)开发方法,应用于物流领域特别是与地 图相关的物流领域。
背景技术
地理信息系统(GIS)是一门学科,是描述、存储、分析、输出空间信息的理论和方 法的一门新兴的交叉学科。地理信息系统又是一个技术系统,是以地理空间数据库为基础, 采用地理模型分析方法,适时提供多种空间的和动态的地理信息的计算机技术系统。现在, 地理信息系统正在经历一个前所未有的大发展时期,已经和正在地理逻辑、地质测绘、交通 运输、公共事业、旅游服务、环境保护等方面发挥重要作用。 基于GIS技术的特点,它能广泛的应用于物流领域,基于GIS技术的物流管理系统 主要用于 1、辅助决策包括全局或局部物流优化、各级客户地理分析、运输能力模型分析、 交通物流资源优化、配送中心能力分析、配送网络方案分析、门到门服务分析优化、联运优 化方案分析、代理网点设置优化、物流仿真分析模型、仓储能力分析、仓库选址模型、中转仓 库优化方案等; 2、物流作业管理包括企业资源管理、物流服务支持系统、物流资源查询检索、交 通资源信息查询、信息发布系统、在线商务交易、仓库可视化管理、货物跟踪监控、海关报关 系统、货物卫检系统、银行支付系统等; 3、企业内部管理包括企业内部资源管理、财务管理系统、人力资源系统等。
在实际应用中,以包括GIS技术在内的现代信息技术支撑的物流信息系统已经能 做到以下几点 (1)、合理配置企业的物流资源,通过信息平台可及时根据物流市场调用企业的物 流资源,尤其是对企业的车辆资源以及所控制的社会车辆资源进行调配,有效实现对物流 资源的整合和利用; (2)、监测车辆位置及工作状态对企业的车辆在途运输实现跟踪,在数字化地图 上监测运货车辆的位置和工作状态,将市场信息反馈给运输车队,实现异地配载,并实时对 特种车辆进行安全监控,为安全运输提供保障; (3)、通过信息平台,可以有效规划物流配送,对配送时间、数量和路径进行调整;
(4)、监控仓库,实现仓库的可视化管理,及时查阅库存情况,并按用户查阅货物库 存状态; (5)、通过物流信息平台,可以实现物流企业在不同地域上各个网点之间的交流和 协作,使物流活动的组织在不同网点之间实现有效衔接和统一组织; (6)、实现物流企业同用户之间的紧密联系,及时调整物流方案,适应用户的物流 需求; (7)、实现网上交易,对订单、合同和财务等信息通过物流信息平台完成。
但为实现上述功能,物流GIS系统需要根据用户界面上用户需要输入模型所需要 的参数(物流GIS系统需要用户在界面输入参数信息(包括地图上点线面的定位和数值型 参数)),进行模型计算,以及到最后的结果展现,这些过程往往需要多人协作进行软件开发 和设计来完成,同时也需要借助其它软件系统来实现模型中复杂的数学计算以及空间分析 和图形展示功能,从而使物流GIS系统存在着开发的工作量大、操作复杂、使用不方便等 缺点。

发明内容
本发明目的在于,为解决现有技术问题的不足,基于ARCGIS丰富的图形展示功 能,空间分析功能和MATLAB强大的科学计算功能的特点,而提供一种利用MATLAB进行物流 GIS中空间分析的系统实现方法,大大减少了系统开发的工作量,操作方便。
为了实现上述目的,本发明的技术方案如下 —种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特征在于,结合了 MATLAB, . NET和ARCGIS在GIS物流系统中的优点,其具体步骤是 A、确定系统里需要展现的物流模型,确定模型中应用的算法和输入输出参数(其 中包括保存中间结果的参数),编写MATLAB函数; B、用C#(C#是.NET中的一种)调用MATLAB函数,具体的实施步骤如下
(1)安装.net framework禾口 MCR (mat lab compile runtime)组件;
(2)利用MATLAB自带的.nettool工具将.m文件转换成.net组件一-> .dll文 件为接口 ,该文件实际上不实现任何程序的功能,都是调用另一个.ctf文件来完成具体的 功能;不 (3)在Cft中引入mwarray. dll ;因为在C#必须引入mwarray. dll才能拥有在.net 中进行矩阵运算所需要的一切; (4)生成一个实例,并对.net组件所输出的结果进行数据类型的转换,以符 合.net编程环境中对数据类型的要求; C、设计图形用户界面,即用户在界面上输入相应的参数值,或直接在地图上用鼠 标进行操作就能完成整个模型的计算以及运算结果在地图上的展现。 进一步,所述系统利用了 MATLAB强大的数学计算功能和丰富的函数,因此在用C# 进行系统开发的时候将复杂的数学计算交给MATLAB计算可以大大减少编程的工作量。
进一步,所述模型数字参数输入的界面由C#完成,用户在进行模型计算的时候可 以通过系统界面的引导输入模型计算需要的参数。 进一步,所述的步骤C中,所述系统界面上通过ARCGIS的坐标转换功能(将屏幕 坐标转换为地图坐标),用户能够在系统界面上直接输入有关物流模型中的点、线、面参数, 并在系统界面上显示输出的结果,给用户非常直观的感觉。 进一步,充分发挥ARCGIS的空间分析功能,因此用户在进行选择等操作以及结果 展现的时候可以直接在地图上进行。所述选择的结果以图形的形式展现在地图上。
进 一 步,在MATLAB环境下编写函数,在C#环境调用MATLAB函数时只需输入 MATLAB函数中的参数值就可以了 (这里输入的参数值需要进行数值转换)。
进一步,为加强了人机交流功能,用户可以通过输入不同的参数。
进一步,充分发挥ARCGIS的网络分析功能,用户可以在电子地图上直观地得到最
短路径等临时层。在所述步骤C中,程序在地图上生成一个临时空白图层,MATLAB的计算
结果可以输出到该这临时空白图层上展示给用户而不会对底层数据产生影响。 进一步,在所述步骤C中,程序在地图上生成一个临时空白图层,用户可以在这临
时层上进行输入操作而不会对底层数据产生影响。 进一步,为加强了用户体验,用户也可以直接在电子地图上选择地物标识。 进一步,地图显示用GIS,复杂的数学运算则交由MATLAB完成,充分发挥了两者的优点。 进一步,物流对路径,车辆调度等和路网紧密联系的问题息息相关,GIS能很好地 解决路网分析问题。物流领域中对于仓库选址等问题,可以用重心法等算法,MATLAB可以 很好的解决。此外,物流领域中的问题不仅需要用到算法,还要考虑到空间位置,这就要求 GIS和MATLAB能结合在一起使用。
本发明具有的有益效果如下 1、本发明主要应用于物流GIS中物流模型,在用户界面上用户只需要输入模型说 需要的参数,而模型中复杂的数学计算是由MATLAB完成,而空间分析和图形展示功能由 ARCGIS完成,因此能大大减少系统开发的工作量。 2、物流GIS中的物流模型无论是做应用教学还是做商业咨询,都需要物流模型有 比较直观的模型展现,本发明充分利用了 ARGGIS的空间分析和图形展现功能,通过输入 点,线,面,利用ARCGIS进行空间分析,最终的结果在地图上以图形的形式展现,而模型中 点,线,面的输入用户可以直接在地图上进行操作。这样整个物流模型从参数输入,模型计 算,到最后的结果展现都能按照最合理的方式进行。 3、本发明在用户界面设计上,充分发挥ARCGIS的空间分析,图形展示功能,用户 可以在电子地图上直观地得到最短路径等临时层,实现人机交流功能。因此能够设计人性 化,吸引人的用户界面,达到很好的效果,具有操作简单,使用方便的优点。


以下结合附图和具体实施方式
来进一步说明本发明。
图1为本发明的实施例流程图。
图2为物流模型的输入输出图。
图3为C#调用MATLAB函数流程图。
具体实施例方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结 合具体图示,进一步阐述本发明。 参考图1 :一种利用MATLAB进行物流GIS中空间分析的系统实现方法,结合了 MATLAB, . NET和ARCGIS在GIS物流系统中的优点,其具体步骤是 A、确定系统里需要展现的物流模型,确定模型中应用的算法和输入输出参数(其 中包括保存中间结果的参数),编写MATLAB函数;该编写MATLAB函数是通过在MATLAB环 境下输入MATLAB函数中的参数值来实现函数的编写。
B、用C#调用MATLAB函数,在C#环境调用MATLAB函数时只需输入MATLAB函数中 的参数值就可以了 (这里输入的参数值需要进行数值转换)。在用Cft进行系统开发的时, 系统利用了 MATLAB强大的数学计算功能和丰富的函数,将复杂的数学计算交给MATLAB计 算,可以大大减少编程的工作量。
具体的实施步骤如下 (1)安装.net framework禾口 MCR (mat lab compile runtime)组件; (2)利用MATLAB自带的.nettool工具将 m文件转换成 net组件一-> .dll文
件为接口 ,该文件实际上不实现任何程序的功能,都是调用另一个.ctf文件来完成具体的
功能; (3)在Cft中引入mwarray. dll ;因为在C#必须引入mwarray. dll才能拥有在.net 中进行矩阵运算所需要的一切,即C#通过引入mwarray. dll才能调用MATLAB进行矩阵运 算。 (4)生成一个实例,并对.net组件所输出的结果进行数据类型的转换,以符 合.net编程环境中对数据类型的要求; C、设计图形用户界面,即用户在界面上输入相应的参数值,或直接在地图上用鼠 标进行操作就能完成整个模型的计算以及运算结果在地图上的展现。在本发明中,程序 可以在地图上生成一个临时空白图层,用户可以在该临时空白图层上进行输入不同的参数 来操作而不会对底层数据产生影响。同时,程序也可以在地图上生成一个临时空白图层, MATLAB的计算结果可以输出到该临时空白图层上展示给用户而不会对底层数据产生影响。 因此,在系统界面上通过临时层可以实现人机交互功能。 上述模型数字参数输入的界面由Cft完成,用户在进行模型计算的时候,可以通过 界面的引导输入模型计算需要的参数。在本发明中,有关模型的点、线、面的参数输入用户 直接可以在地图上直接操作,给用户非常直观的感觉。另外,用户在进行选择等操作以及结 果展现的时候,利用ARCGIS的空间分析功能和网络分析功能,所选择的结果以图形的形式 展现在地图上。同时,为了加强了用户体验,用户可以直接在电子地图上选择地物标识,也 可以在电子地图上直观地得到最短路径等临时层,从而使得整个系统操作起来更为方便。
在本发明中,MATLAB利用重心法等算法可以很好的解决物流领域中对于仓库选址 等问题。GIS能很好地解决物流对路径、车辆调度等和路网紧密联系息息相关的路网分析 问题。此外,物流领域中的问题不仅需要用到算法,还要考虑到空间位置,这就要求GIS和 MATLAB能结合在一起使用,地图显示用GIS,复杂的数学运算则交由MATLAB完成,充分发挥 了两者的优点。 用户在计算物流模型时,通过从屏幕上进行取点、线、面操作后利用ARCGIS函数 将其转化为坐标点,MATLAB读入坐标数据进行计算,有时候还要用户输入数字参数,MATLAB 输出计算结果参数,利用Geometry Draw将输出结果图形化。 为了更详细的阐述本发明的实施过程,参考图2和图3,本发明的实施例如下 [OO59] 1、用户输入屏幕坐标(502,241) 2、 利用ESRI.ArcGIS.ADF. Web. Geometry. Point. ToMapPoint(screenPoint, adfMap. GetTransformationPa:rams(ESRI. ArcGIS. ADF. Web. Geometry. TransformationDirection. ToMap)函数将屏幕坐标转化为地理坐标(1829916.3294499926,638769. 94158348092)
3、输入参数转化成MATLAB格式 MWNumericArray center_x = new MWNumericArray (x);
MWNumericArray center_y = new MWNumericArray (y);
4、输出参数结果的转化 double[,]xl= (double[, ])xltemp. ToArray(丽ArrayComponent. Real);
double [, ]x2 = (double [, ])x2temp. ToArray (丽ArrayComponent. Real);
5、输出图形化的结果。
具体实施例(重心法选址) 1编写MATLAB函数AddresChoice保存为AddresChoice. M文件。
2.点击MATLAB file菜单一-> New—- > D印loyment Project—- > MATLABbuilder NE添加AddresChoice. M文件,编译,打包生成AddresChoice. ctf和 AddresChoice. dll。 3.在C#下添加,引用AddresChoice. ctf, AddresChoice. dll和MATLAB丽Array API.就可以在C#环境下调用MATLAB,进行计算。 4.在Cft中编写点击地图事件类为PointTool类,设置静态变量PointCollection,
并利用IM即ServerToolAction接口保存用户在地图上点击生成的点。 5.在Cft中编写结果输出类,利用PointCollection和MATLAB中的函数产生结果
坐标,用函数elementGr即hicsLayer. Add (gr即hicElement)将结果显示在Gr即hicsLayer
上展示给用户。 本发明是在MATLAB环境下编写有关物流模型的代码,生成DLL动态链接库, 在.NET环境下调用DLL文件,很大程度的减少了程序工作量。本发明主要应用于物流GIS 中物流模型,在用户界面上用户只需要输入模型说需要的参数,而模型中复杂的数学计算 是由MATLAB完成,而空间分析和图形展示功能由ARCGIS完成,因此能大大减少系统开发的
工作量。 另外,物流GIS中的物流模型无论是做应用教学还是做商业咨询,都需要物流模 型有比较直观的模型展现,本发明充分利用了 ARGGIS的空间分析和图形展现功能,将屏幕 坐标转换为地图坐标,用户可以在系统界面上直接输入有关物理模型上的点、线、面参数, 再利用ARCGIS进行空间分析,最终的结果就会在系统界面的屏幕上以图形形式展现。而模 型中点、线、面的输入用户可以直接在地图上进行操作。这样整个物流模型从参数输入,模 型计算,到最后的结果展现都能按照最合理的方式进行。 因此,本发明在用户界面设计上,充分发挥了 ARCGIS的空间分析,图形展示功能, 用户可以在电子地图上直观地得到最短路径等临时层,实现人机交流功能。因此能够设计 人性化,吸引人的用户界面,达到很好的效果,具有操作简单,使用方便的优点。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其 等效物界定。
权利要求
一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特征在于A、确定系统里需要展现的物流模型,确定模型中应用的算法和输入输出参数,编写MATLAB函数;B、用C#调用MATLAB函数,实施步骤如下(1)利用MATLAB自带的.nettool工具将.m文件转换成.net组件,以.dll文件为接口,该文件通过调用另一个.ctf文件来完成具体的功能;(2)在C#中引入mwarray.dll;C#通过引入mwarray.dll才能调用MATLAB进行矩阵运算;(3)生成一个实例,并对.net组件所输出的结果进行数据类型的转换,以符合.net编程环境中对数据类型的要求。C、设计图形用户界面即用户在系统界面上输入相应的参数值。
2. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于,在所述的步骤B中的步骤(1)操作前还要安装.netframework和MCR组件。
3. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于,所述步骤C中,用户直接可以在地图上用鼠标进行操作就能完成整个模型的计算以及运算结果在地图上的展现。
4. 根据权利要1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于,所述C#利用MATLAB数学计算功能和函数进行系统开发,即在C#用进行系统开发的时,将数学计算交给MATLAB计算。
5. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于,所述模型数字参数输入的系统界面由Cft完成,即用户在进行模型计算的时,能够通过系统界面的弓I导输入模型计算需要的参数。
6. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于所述的步骤C中,所述系统界面上通过ARCGIS的坐标转换功能,能够在系统界面上直接输入物流模型中的点、线、面参数,并在系统界面上显示输出的结果。
7 根据权利要求6所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于所述输出的结果以图片的形式展现给用户。
8. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于所述步骤A中的所述编写MATLAB函数是通过在MATLAB环境下输入MATLAB函数中的参数值来实现函数的编写。
9. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于所述步骤B中所述C#调用MATLAB函数是在C#环境下通过输入MATLAB函数中的参数来调用MATLAB函数。
10. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于在所述步骤C中,程序在地图上生成一个临时空白图层,用户可以在该临时空白图层上进行输入操作而不会对底层数据产生影响。
11. 根据权利要求1所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于在所述步骤C中,程序在地图上生成一个临时空白图层,MATLAB的计算结果可以输出到该临时空白图层上展示给用户而不会对底层数据产生影响。
12.根据权利要求9或10所述一种利用MATLAB进行物流GIS中空间分析的系统实现方法,其特点在于所述系统界面上通过所述临时空白图层实现人机交互功能。
全文摘要
本发明涉及一种利用MATLAB进行物流GIS中空间分析的系统实现方法,这种方法完美结合了ARCGIS的空间分析,图形展示功能与物流模型在MATLAB环境下编程的便捷性。该方法的包括以下步骤在MATLAB环境下编写有关物流模型的代码,生成DLL动态链接库,在NET环境下调用DLL文件,很大程度的减少了程序工作量。在用户界面设计上,充分发挥ARCGIS的空间分析,图形展示功能,因此能够设计人性化,吸引人的用户界面,达到很好的效果。
文档编号G06F9/44GK101739250SQ200810203018
公开日2010年6月16日 申请日期2008年11月20日 优先权日2008年11月20日
发明者吴先斌, 孟燕萍, 杨斌, 王洁, 胡坚堃 申请人:上海海事大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1