XDL TIP
[NXPlanet] PlanetView 2D에서 화면에 도시되는 데이터의 레벨을 계산하는 방법
Author
pixoneer
Date
2019-03-15 14:11
Views
1638
int nTileSize = 256;
Pixoneer.NXDL.XVertex3d pos1 = nxPlanetView1.ScreenToWorld(0.0, 0.0);
Pixoneer.NXDL.XVertex3d pos2 = nxPlanetView1.ScreenToWorld(nTileSize*0.9, 0.0);
double dist = (pos1-pos2).Length;
double coverRange1Tile = 18.0;
if (nxPlanetView1.Planet2DProjection == Pixoneer.NXDL.NXPlanet.NXPlanetView.ePlanet2DProjection.WebMercator)
{
pos1 = (Pixoneer.NXDL.XGeoPoint.FromDegree(0.0, 0.0, 0.0)).wm;
pos2 = (Pixoneer.NXDL.XGeoPoint.FromDegree(coverRange1Tile , 0.0, 0.0)).wm;
}
else
{
pos1 = (Pixoneer.NXDL.XGeoPoint.FromDegree(0.0, 0.0, 0.0)).eec;
pos2 = (Pixoneer.NXDL.XGeoPoint.FromDegree(coverRange1Tile , 0.0, 0.0)).eec;
}
double distTile = (pos1-pos2).Length;
int nLevel = 0;
while (distTile > dist)
{
nLevel++;
dist *= 2.0;
if (dist == 0.0)
break;
}
nLevel -= 1;
if (nLevel < 0) nLevel=0;
System.Diagnostics.Debug.WriteLine("Calc Level : {0}", nLevel.ToString());
Pixoneer.NXDL.XVertex3d pos1 = nxPlanetView1.ScreenToWorld(0.0, 0.0);
Pixoneer.NXDL.XVertex3d pos2 = nxPlanetView1.ScreenToWorld(nTileSize*0.9, 0.0);
double dist = (pos1-pos2).Length;
double coverRange1Tile = 18.0;
if (nxPlanetView1.Planet2DProjection == Pixoneer.NXDL.NXPlanet.NXPlanetView.ePlanet2DProjection.WebMercator)
{
pos1 = (Pixoneer.NXDL.XGeoPoint.FromDegree(0.0, 0.0, 0.0)).wm;
pos2 = (Pixoneer.NXDL.XGeoPoint.FromDegree(coverRange1Tile , 0.0, 0.0)).wm;
}
else
{
pos1 = (Pixoneer.NXDL.XGeoPoint.FromDegree(0.0, 0.0, 0.0)).eec;
pos2 = (Pixoneer.NXDL.XGeoPoint.FromDegree(coverRange1Tile , 0.0, 0.0)).eec;
}
double distTile = (pos1-pos2).Length;
int nLevel = 0;
while (distTile > dist)
{
nLevel++;
dist *= 2.0;
if (dist == 0.0)
break;
}
nLevel -= 1;
if (nLevel < 0) nLevel=0;
System.Diagnostics.Debug.WriteLine("Calc Level : {0}", nLevel.ToString());
Total Reply 0Count
Number | Title | Author | Date | Views |
7 |
[NXDL] XGeoPoint클래스 사용하기
pixoneer
2016.11.19
3326
|
pixoneer | 2016.11.19 | 3326 |
6 |
[NXDL] XColorTable사용하기
pixoneer
2016.11.19
1648
|
pixoneer | 2016.11.19 | 1648 |
5 |
[NXDL] XGrid클래스 사용하기
pixoneer
2016.11.18
1874
|
pixoneer | 2016.11.18 | 1874 |
4 |
[NXDL] XVertex2i 클래스 사용하기
pixoneer_THK
2016.11.18
1596
|
pixoneer_THK | 2016.11.18 | 1596 |
3 |
[NXDL] XVertex3d클래스 사용하기
pixoneer_THK
2016.11.18
1602
|
pixoneer_THK | 2016.11.18 | 1602 |
2 |
[NXDL] XVertex2d 클래스 사용하기
pixoneer_THK
2016.11.18
1601
|
pixoneer_THK | 2016.11.18 | 1601 |
1 |
[NXDL] XAngle클래스 사용하기
pixoneer_THK
2016.11.18
1634
|
pixoneer_THK | 2016.11.18 | 1634 |