C# диапазон координат фильтра - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть файл с такими координатами:

82782857,-6885006
82774964,-5655729
82763788,-4429675
82749345,-3207929
82731653,-1991557
82710736,-781593
82686622,420950
82659343,1615130
82628933,2800014
82595432,3974726
82558880,5138441
116600,-16616689
82577,-16465184
48553,-16313678
14529,-16162173
-19495,-16010668
-53519,-15859163
-87542,-15707657
-121565,-15556152
-155587,-15404645
-189608,-15253139

Я добавляю их в список, я просто хочу обновить список, используя определенный фильтр на основе ввода координат.

пример: ввод 52.4733085,5.5103709

я хочу найти лат между 52.0733085-52.8733085 и long между 5.1103709 - 5.9103709

1 Ответ

0 голосов
/ 03 апреля 2020

Я использовал такой код для одного из моих проектов.

            StreamReader reader = new StreamReader(FILENAME);
            string line = "";
            while((line = reader.ReadLine()) != null)
            {
                string[] data = line.Split(new char[] { ',' }).ToArray();
                double lat = double.Parse(data[0]);
                double lon = double.Parse(data[1]);

                lon = (180.0 * lon ) / 324000000.0;
                int degrees = (int)lon;
                double minutes = 60 * (lon - degrees);
                string lonStr = string.Format("{0}º{1}", degrees, minutes);

                lat = (90.0 * lat) / 162000000.0;

                degrees = (int)lat;
                minutes = 60 * (lat - degrees);
                string latStr = string.Format("{0}º{1}", degrees, minutes);
                Console.WriteLine("Latitude : '{0}', Longitude : '{1}'", latStr, lonStr);
            }
            Console.ReadLine();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...