📄 placename.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;
using System.Xml.Serialization;
using Microsoft.WindowsMobile.DirectX;
using Microsoft.WindowsMobile.DirectX.Direct3D;
using PInvokeLibrary;
using WorldWindow;
namespace cfWorldWind
{
public class Placename
{
List<PlaceList> alPlaceLists;
public Placename()
{
}
public int PlaceListCount
{
get
{
int count = 0;
if (alPlaceLists != null)
{
count = alPlaceLists.Count;
}
return count;
}
}
//mem
Microsoft.WindowsMobile.DirectX.Direct3D.Font drawingFont;
System.Drawing.Font winFont;
public class PlaceList
{
public float minAlt = 0;
public float maxAlt;
//public Microsoft.WindowsMobile.DirectX.Direct3D.Font drawingFont;
//public System.Drawing.Font winFont;
public Color color;
public List<Place> places = new List<Place>();
}
public class Place
{
public float lat;
public float lon;
public string name;
public Vector3 point;
public string Name
{
get{return name;}
}
}
MemoryStatus.MEMORYSTATUS memStatus = new MemoryStatus.MEMORYSTATUS();
public uint GetAvailMem()
{
MemoryStatus.GlobalMemoryStatus(memStatus);
return memStatus.dwAvailPhys;
}
public LayerSet GetLayerSetXs()
{
XmlSerializer xs = new XmlSerializer(typeof(LayerSet));
string filePath = Settings.DirectoryPlacenames + @"Placenames.xml";
FileStream fs = new FileStream(filePath, FileMode.Open);
LayerSet ls = (LayerSet)xs.Deserialize(fs);
fs.Close();
xs = null;
return ls;
}
#region HACK HACK HACK
//HACK
public LayerSet GetLayerSet()
{
LayerSet ls = new LayerSet();
List<LayerSetTiledPlacenameSet> alTiledPlacenameSet = new List<LayerSetTiledPlacenameSet>();
LayerSetTiledPlacenameSet lstps;
//Countries
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 100000;
lstps.MaximumDisplayAltitude = 6000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\Countries\ww.wpl";
lstps.WinColorName = "White";
alTiledPlacenameSet.Add(lstps);
//GeoNet World Capitals
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 3000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_p_pplc\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//Trenches & Ridges
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 100000;
lstps.MaximumDisplayAltitude = 6000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\TrenchesRidges\ww.wpl";
lstps.WinColorName = "Cyan";
alTiledPlacenameSet.Add(lstps);
//Deserts & Plains
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 100000;
lstps.MaximumDisplayAltitude = 6000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\DesertsPlains\ww.wpl";
lstps.WinColorName = "Brown";
alTiledPlacenameSet.Add(lstps);
//Lakes & Rivers
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 3000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\LakesRivers\ww.wpl";
lstps.WinColorName = "Cyan";
alTiledPlacenameSet.Add(lstps);
//Mountains & Valleys
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 100000;
lstps.MaximumDisplayAltitude = 6000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\MountainsValleys\ww.wpl";
lstps.WinColorName = "Brown";
alTiledPlacenameSet.Add(lstps);
//Oceans
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 10000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\Oceans\ww.wpl";
lstps.WinColorName = "White";
alTiledPlacenameSet.Add(lstps);
//Continents
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 400000;
lstps.MaximumDisplayAltitude = 10000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\Continents\ww.wpl";
lstps.WinColorName = "White";
alTiledPlacenameSet.Add(lstps);
//Water Bodies
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 100000;
lstps.MaximumDisplayAltitude = 6000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\WaterBodies\ww.wpl";
lstps.WinColorName = "Cyan";
alTiledPlacenameSet.Add(lstps);
//US Cities (Population Over 500k)
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 4000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover500k\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//US Cities (Population Over 100k)
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 2000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover100k\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//US Cities (Population Over 50k)
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 1000000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover50k\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//GeoNET Administrative 1st Order
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = false;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 600000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_a_adm1\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//GeoNET Administrative 2nd Order
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = false;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 400000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_a_adm2\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//GeoNET Populated Place Administrative
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = false;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 200000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_p_ppla\ww.wpl";
lstps.WinColorName = "Pink";
alTiledPlacenameSet.Add(lstps);
//US Cities (Population Over 10k)
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 250000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover10k\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//US Cities (Population Over 0)
lstps = new LayerSetTiledPlacenameSet();
lstps.ShowAtStartup = true;
lstps.MinimumDisplayAltitude = 0;
lstps.MaximumDisplayAltitude = 75000;
lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover0\ww.wpl";
lstps.WinColorName = "Yellow";
alTiledPlacenameSet.Add(lstps);
//US Cities (No Population)
lstps = new LayerSetTiledPlacenameSet();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -