Ejemplo n.º 1
0
        private void AbrirGG(object sender, RoutedEventArgs e)
        {
            var dlg = new Microsoft.Win32.OpenFileDialog
            {
                FileName         = "transaction",
                DefaultExt       = ".log;",
                Filter           = "Registro de Cambios (transaction.log)|transaction.log;",
                Title            = "Abrir Base de Datos ...",
                Multiselect      = false,
                DereferenceLinks = true
            };

            // Show open file dialog box
            var result = dlg.ShowDialog();

            // Process open file dialog box results
            if (result != true)
            {
                return;
            }
            // Open document
            var filename = dlg.FileName;
            var dir      = System.IO.Path.GetDirectoryName(filename);
            var repo     = new Repository();
            var so       = new StorageGeometry();

            //repo.Open<GeoGrillas>(dir, ref so);
            repo.Open <GeoGrillas>(dir, ref so);
            tileCanvas.Repository = repo;
        }
Ejemplo n.º 2
0
        private void MouseButtonEventHandler2(Object sender, MouseButtonEventArgs e)
        {
            // Open document
            var dirname = @"C:\QTREE_REPO";
            var repo    = new Repository();
            var so      = new StorageGeometry();

            repo.Open <GR2>(dirname, ref so);
            tileCanvas.Repository = repo;
        }
Ejemplo n.º 3
0
        private void NuevoGG(object sender, RoutedEventArgs e)
        {
            var dlg = new Microsoft.Win32.SaveFileDialog()
            {
                FileName         = "transaction",
                DefaultExt       = ".log;",
                Filter           = "Registro de Cambios (transaction.log)|transaction.log;",
                Title            = "Crear Base de Datos ...",
                DereferenceLinks = true
            };

            // Show open file dialog box
            var result = dlg.ShowDialog();

            // Process open file dialog box results
            if (result != true)
            {
                return;
            }
            // Open document
            var filename = dlg.FileName;
            var dir      = System.IO.Path.GetDirectoryName(filename);
            var repo     = new Repository();
            // so.Lat_Grid = 1.0/60.0/30.0;
            var so = new StorageGeometry()
            {
                Signature       = "GeoGrillas",
                Lat_Grid        = 5600,
                Lon_Grid        = 5600,
                Lat_GridCount   = 2000,
                Lon_GridCount   = 2500,
                Lat_OffSet      = -345300000,
                Lon_OffSet      = -585500000,
                FileSectorCount = 79,
            };

            repo.Init <GeoGrillas>(dir, so);
            tileCanvas.Repository = repo;
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            Console.Write("QuadTree Tester Inicializando v 1.0\r\n");

            string basedir = @"C:\QTREE_REPO";

            var repo = new Repository();

            if (!System.IO.Directory.Exists(basedir))
            {
                Console.Write("El repositorio [{0}] no existe, lo creamos.\r\n", basedir);
                StorageGeometry sgeom = new StorageGeometry()
                {
                    Signature       = "0123456789ABCDEF",
                    CellBits        = (char)4,
                    ActiveKey       = 0x55AA55AA,
                    DataStart       = 2,
                    FileSectorCount = 64,
                    Lat_OffSet      = 340000000,
                    Lon_OffSet      = 580000000,
                    Lat_Grid        = 5000,
                    Lon_Grid        = 5000,
                    Lat_GridCount   = 2000,
                    Lon_GridCount   = 2000
                };

                if (!repo.Init(basedir, sgeom))
                {
                    Console.Write("Imposible inicializar el repositorio GR2\r\n");
                    Console.ReadLine();
                    return;
                }
            }

            StorageGeometry sgeom2 = new StorageGeometry();

            if (!repo.Open(basedir, ref sgeom2))
            {
                Console.Write("El repositorio GR2 parece corrupto.\r\n");
                Console.ReadLine();
                return;
            }


            Console.WriteLine("Header Signature: {0}", sgeom2.Signature);
            Console.ReadLine();


            var Cartografia = new Cartografia("C:\\MapasCopia");

            foreach (var map in Cartografia)
            {
                for (int j = map.Poligonos.Count - 1; j >= 0; j--)
                {
                    var poligono = map.Poligonos[j];
                    if (poligono.Nivel != 5000)
                    {
                        continue;
                    }
                    int[] vertices = map.Poligonos.GetVertices(j);


                    for (int i = 0; i < vertices.Length; i++)
                    {
                        var vertex = vertices[i];
                        var lonlat = new LonLat(map.Coords[vertex]);
                        //6T.TRACE("Creando vertice #{0} {1} {2}", vertex, lonlat.Latitud, lonlat.Longitud);
                        repo.SetPositionClass((float)lonlat.Latitud, (float)lonlat.Longitud, 1);
                        var Gr2Cache = repo.IndexCatalog.OfType <GR2>().FirstOrDefault();
                        Gr2Cache.SetReference((float)lonlat.Latitud, (float)lonlat.Longitud, "v", map.Vertices[vertex]);
                    }
                }
            }

            repo.SetPositionClass(34.5665F, 55.2235F, 12);
            int clase     = repo.GetPositionClass(34.5665F, 55.2235F);
            var Gr2Cache2 = repo.IndexCatalog.OfType <GR2>().FirstOrDefault();
            var rd        = Gr2Cache2.GetReference <Vertice>(34.5665F, 55.2235F, "vertices");

            Vertice ppp = new Vertice()
            {
                Tipo = 22123123, Prioridad = 1234, NReg = 2357
            };

            Gr2Cache2.SetReference(34.5665F, 55.2235F, "vertices", ppp);
            Console.Write("sample: clase leida {0}\r\n", clase);
            Console.Write("\r\n");

            /*
             * qtree.SetPositionClass(34.2665, 55.4235, 3);
             * qtree.SetPositionClass(34.267, 55.4235, 4);
             * qtree.SetPositionClass(34.268, 55.4235, 5);
             * qtree.SetPositionClass(34.269, 55.4235, 6);
             * qtree.SetPositionClass(34.270, 55.4235, 7);
             * qtree.SetPositionClass(34.271, 55.4235, 8);
             *
             * clase = qtree.GetPositionClass(34.2665, 55.4235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * clase = qtree.GetPositionClass(34.5665, 55.2235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * clase = qtree.GetPositionClass(34.2665, 55.4235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * qtree.SetPositionClass(37.5665, 55.2235, 12);
             * clase = qtree.GetPositionClass(37.5665, 55.2235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * qtree.SetPositionClass(37.2665, 55.4235, 3);
             * clase = qtree.GetPositionClass(37.2665, 55.4235);
             *
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * clase = qtree.GetPositionClass(37.5665, 55.2235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * clase = qtree.GetPositionClass(37.2665, 55.4235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * qtree.SetPositionClass(37.2665, 55.4235, 8);
             * clase = qtree.GetPositionClass(37.2665, 55.4235);
             * Console.Write("sample: clase leida {0}\r\n", clase);
             * Console.Write("\r\n");
             *
             * qtree.SetPositionClass(34.0, 55.0, 4);
             * qtree.SetPositionClass(34.99999, 55.99999, 4);
             *
             * qtree.SetPositionClass(46.5, 65.5, 5);
             * qtree.SetPositionClass(47.2, 56.4, 15); */


            repo.Close();
            Console.ReadLine();
        }