资源简介
大气模型算法,气体污染扩散模型,用java编写,需要mapinfo支持

代码片段和文件信息
package com;
import java.util.ArrayList;
import java.util.List;
import com.mapinfo.mapj.MapJ;
import com.mapinfo.util.DoublePoint;
public class AirDensity
{
public double Q ;
public double Pai = Math.PI;
public double Gy ;
public double Gz ;
public double AirSpeed ;
public double Dest;
public double AirAngle ;
public double X ;
public double Y ;
public double Z = 0;//;
/**
* @param q 单位排放量
* @param airSpeed 风速
* @param x 横坐标最大长度
* @param y 纵坐标最大长度
* @param airAngle 风向
*/
public AirDensity(double q double airSpeed double x double yint airAngle)
{
Q = q;
Dest=Math.sqrt(X * X + Y * Y);
AirSpeed = airSpeed;
AirAngle=airAngle*(Math.PI/180); //要转换成弧度
X = x;
Y = y;
}
/**计算污染源浓度
* @return 浓度
*/
public double CalDensity()
{
Gy = y1()*Math.pow(Xa1()) ;
Gz = y2() * Math.pow(X a2());
double density = Q * (1/(2 * Pai * AirSpeed*Gy*Gz))*Math.exp(-(Y*Y)/(2*(Gy*Gy)))*Math.exp(-0/(2*(Gz*Gz)));
return density;
}
public double a1()
{
if (0 <= Dest && Dest <= 1000)
return 0.926849;
if ( Dest >1000)
return 0.886940;
return 0;
}
public double y1()
{
if (0 <= Dest && Dest <= 1000)
return 0.143940;
if (Dest > 1000)
return 0.189396;
return 0;
}
public double a2()
{
if (0 <= Dest && Dest <= 2000)
return 0.838628;
if (2000 < Dest && Dest <= 10000)
return 0.756410;
if (10000 < Dest )
return 0.815575;
return 0;
}
public double y2()
{
if (0 <= Dest && Dest <= 2000)
return 0.126152;
if (2000 < Dest && Dest <= 10000)
return 0.235667;
if (10000 < Dest)
return 0.136659;
return 0;
}
/**根据x坐标和浓度计算y坐标
* @param x 横坐标
* @param density
* @return
*/
public double CalYbyX(double xdouble density)
{
AirDensity _Density=this;//new AirDensity(00000);
//_Density.Dest=x;
double _a1=_Density.a1();
double _y1=_Density.y1();
double _a2=_Density.a2();
double _y2=_Density.y2();
double _Gy = _y1*Math.pow(x_a1) ;
double _Gz = _y2 * Math.pow(x _a2);
// double density = Q * (1/(2 * Pai * AirSpeed*Gy*Gz))*Math.exp(-(Y*Y)/(2*(Gy*Gy)))*Math.exp(-0/(2*(Gz*Gz)));
double yy=density/Q;
yy=yy*(2*Math.PI*AirSpeed*_Gy*_Gz);
yy= Math.log(yy)/Math.log(Math.E) ;
yy=Math.abs( yy*2*(Gy*Gy));
yy= Math.sqrt(yy);
return yy;
}
private double miLon=0.0000115721704127876519013676624; //1米的经度
private double miLat=0.0000089932202939481227428007
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 584 2010-06-04 13:29 DensityPoints.java
文件 4859 2011-04-20 09:26 AirDensity.java
----------- --------- ---------- ----- ----
5443 2
相关资源
- 推荐算法的JAVA实现
- 回归算法Java程序
- java实现的搜索引擎
- C#和Java实现互通的RSADES加解密算法
- java国密算法SM4加密.zip
- java算法大全含源码包
- 算法设计、分析与实现从入门到精通
- DES加密解密算法论文
- 华科密码学课设之SPN的差分攻击以及
- RSA数字签名算法的具体实现
- 银行家算法的java代码实现,Swing写的
- 大宝CA版本的国密算法DoubleCA-JCE实现,
- Java基于双向链表实现双端队列结构(
- 国密版本的SSL库
- RSA算法JAVA公钥加密,C#私钥解密
- aes加密算法 五种模式
- 论文研究 - 使用混合密码算法的端到
- des加密算法实现任意文件加解密
- Java模拟操作系统实验之四种进程调度
- 银行家算法JAVA代码实现,附带图形化
- HDP java代码,非参数主题模型学习算法
- EM算法java实现
- 数据结构与算法分析Java语言描述-英文
- SM2 SM3 SM4国密算法JAVA与JS实现版本
- N后问题 算法课设Java代码和报告
- Android-EasyShow3D一个基于OpenGLES的简单易
- 2017-广东工业大学操作系统课程设计银
- 数据结构与算法:C#语言描述(中,英
- Java编写的k-means文本聚类算法
- 计算机网络课程设计报告_DH算法_Wir
评论
共有 条评论