Beispiel #1
0
        private NltTerrainAccessor getTerrainAccessorFromXML(WorldXmlDescriptor.TerrainAccessor curTerrainAccessorType)
        {
            double east  = curTerrainAccessorType.LatLonBoundingBox.East.Value.DoubleValue();
            double west  = curTerrainAccessorType.LatLonBoundingBox.West.Value.DoubleValue();
            double north = curTerrainAccessorType.LatLonBoundingBox.North.Value.DoubleValue();
            double south = curTerrainAccessorType.LatLonBoundingBox.South.Value.DoubleValue();

            NltTerrainAccessor[] subsets = null;
            if (curTerrainAccessorType.HasHigherResolutionSubsets())
            {
                subsets = new NltTerrainAccessor[curTerrainAccessorType.HigherResolutionSubsetsCount];
                for (int i = 0; i < curTerrainAccessorType.HigherResolutionSubsetsCount; i++)
                {
                    subsets[i] = this.getTerrainAccessorFromXML(curTerrainAccessorType.GetHigherResolutionSubsetsAt(i));
                }
            }
            return(null);
        }
Beispiel #2
0
        private void  InitWorld()
        {
            Vector3 v = SMath.SphericalToCartesian(startlatitude, startlongitude, World.EarthRadius);

            v.Z = (float)startAltitude * 1.0f;
            Quaternion4d q  = Quaternion4d.EulerToQuaternion(SMath.DegreesToRadians(startlongitude), SMath.DegreesToRadians(startlatitude), 0);
            Quaternion   qz = Quaternion.RotationAxis(new Vector3(0, 0, 1), (float)SMath.DegreesToRadians(startlatitude));
            //q.W = qz.W;
            //q.X = qz.X;
            //q.Y = qz.Y;
            //q.Z = qz.Z;
            //TerrainTileService terrainTileService = new TerrainTileService("http://worldwind25.arc.nasa.gov/tile/tile.aspx", "100", 20, 150, "bil", 8, Path.Combine(EarthSetting.CachePath, "Earth\\TerrainAccessor\\SRTM"));

            TerrainTileService terrainTileService = new TerrainTileService("http://worldwind25.arc.nasa.gov/tile/tile.aspx", "100", 1, 150, "bil", 6, @"D:\空间数据\重庆H48\bil29107");
            TerrainAccessor    terrainAccessor    = new NltTerrainAccessor("Earth", -180, -90, 180, 90, terrainTileService, null);


            World _world = new World("Earth", new Vector3d(0, 0, 0), q, this.worldViewer1, terrainAccessor);

            this.worldViewer1.CurrentWorld = _world;

            this.worldViewer1.ResetSize();
        }