88 lines
1.7 KiB
C#
88 lines
1.7 KiB
C#
namespace LP;
|
|
|
|
internal class MyCell
|
|
{
|
|
public MyPoint p1;
|
|
|
|
public MyPoint p2;
|
|
|
|
public MyPoint p3;
|
|
|
|
public MyPoint p4;
|
|
|
|
public int idGrid;
|
|
|
|
public double dist0;
|
|
|
|
public double dist1;
|
|
|
|
public double lengthSelf;
|
|
|
|
public double area_km2;
|
|
|
|
public int[] xArray5 = null;
|
|
|
|
public int[] yArray5 = null;
|
|
|
|
public MyCell()
|
|
{
|
|
p1 = new MyPoint();
|
|
p2 = new MyPoint();
|
|
p3 = new MyPoint();
|
|
p4 = new MyPoint();
|
|
idGrid = 0;
|
|
dist0 = (dist1 = 0.0);
|
|
lengthSelf = 0.0;
|
|
area_km2 = 0.0;
|
|
}
|
|
|
|
public void CloneFrom_MyCell(MyCell _cell)
|
|
{
|
|
p1.CloneFrom_MyPoint(_cell.p1);
|
|
p2.CloneFrom_MyPoint(_cell.p2);
|
|
p3.CloneFrom_MyPoint(_cell.p3);
|
|
p4.CloneFrom_MyPoint(_cell.p4);
|
|
idGrid = _cell.idGrid;
|
|
dist0 = _cell.dist0;
|
|
dist1 = _cell.dist1;
|
|
lengthSelf = _cell.lengthSelf;
|
|
area_km2 = _cell.area_km2;
|
|
}
|
|
|
|
public void km_From_JWD_MyCell(MyCell cell)
|
|
{
|
|
p1.km_From_JWD_MyPoint(cell.p1);
|
|
p2.km_From_JWD_MyPoint(cell.p2);
|
|
p3.km_From_JWD_MyPoint(cell.p3);
|
|
p4.km_From_JWD_MyPoint(cell.p4);
|
|
}
|
|
|
|
public void convertPixel_FromJWD(int _width, int _height, double _jd_min, double _jd_max, double _wd_min, double _wd_max)
|
|
{
|
|
if (xArray5 == null)
|
|
{
|
|
xArray5 = new int[5];
|
|
}
|
|
if (yArray5 == null)
|
|
{
|
|
yArray5 = new int[5];
|
|
}
|
|
int num = 0;
|
|
int num2 = 0;
|
|
MyPoint[] array = null;
|
|
array = new MyPoint[5] { p1, p2, p3, p4, p1 };
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
num = (int)((double)_width * (array[i].x - _jd_min) / (_jd_max - _jd_min));
|
|
num2 = (int)((double)_height * (_wd_max - array[i].y) / (_wd_max - _wd_min));
|
|
xArray5[i] = num;
|
|
yArray5[i] = num2;
|
|
}
|
|
for (int j = 0; j < 5; j++)
|
|
{
|
|
array[j] = null;
|
|
}
|
|
array = null;
|
|
}
|
|
}
|