Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

1. На входе файл mesto.csv c перечнем объектов и их координатами,

к примеру 1 строка выглядит так:

----------------------------------

«Воеводовка“;" села“;" Vojevodivka“;" Воєводівка“;" Днепропетровская область“;" Верхнеднепровский район“;" Географические координаты села Воеводовка (Днепропетровская область, Верхнеднепровский район).“;"48.56361»;"34.31889“;" Почтовый индекс села Воеводовка: 51653.“;" Средняя высота села над уровнем моря (в метрах): 119.“;"8ef6145d2f83cba3300094dbc041732d»

-------------------

т.е. название села, какие-то параметры, которые нам не важны и поле с координатами.

Есть второй файл object.csv (перечень обектов, например достопримечательности, музеи и т.п.), он может быть той же структуры.

Для каждого населенного пункта нужно найти ближайшие объекты в заданном радиусе, не более N штук (по умолчанию = 30 шт) и не далее чем на расстоянии S км от населенного пункта (по умолчанию 30 км).

При этом если указано число N=0, то ограничения по количеству нет, если S = 0, то по расстоянию ограничения нет.

В выходной файл OUT.csv нужно вывести все те строки, которые присутствуют в файле mesto.csv и в конце дописать через запятую номера объектов (номер объекта соответсвует номеру строки в файле object.csv) и через тире расстояние до объекта, далее точка с запятой и след объект и т.п., Расстояние округляем до целых, но если дробная часть близка к 0,5, тогда округляем значение так, чтобы погрешность округления оказалась не более 2% т.е. например если целое в диапазоне 1–10 окргляем до 1 знака после запятой), если целое более 10 округляем до целого либо до 0,5) Если более 20, то до целого.

Упорядочить нужно по дальности. Т.е вначале самые ближние, затем более дальние.

Нужно реализовать в виде функции с входными параметрами. Замечу, что она должна работать и в том случае если на входе оба файла совпадут. Тогда в итоге получится информация для каждого объекта в виде перечня ближайших объектов и расстояния до них.

Для тестирование будет дан файл 30000 населенных пунктов Украины, нужно вывести ближайшие населенные пункты, еще файл всех городов Украины, нужно вывести расстояния до ближайших городов, еще файл всех пгт Украины, нужно вывести расстояние до ближайших пгт. И еще файл достопримечательностей Украины, нужно вывести расстояния до ближайших населенных пунктов, пгт, городов.

Для большого количества объектов, если проверять расстояния до всех объектов, программа загнется. Поэтому

предлагаю делать таким образом. Если ограничение по расстоянию задано S>0? то Все заданные объекты заносим в массив и сортируем по одной из координат, например долготе.

Далее смотрим минимальную долготу и максимальную, вычисляем расстояние между ними по формуле. Далее то же самое делаем с широтой. Таким образом описываем все объекты в прямоугольник. После этого делим всю область на квадраты по S км. Далее для каждого населенного пункта определяем в какой квадрат он попадает. И перебираем все объекты из того же квадрата и 8 соседних квадратов. Вычисляем расстояние до каждого объекта и заносим в массив. После все проделанной работы, массив сортируем и берем N найденных объектов, если N>0 и выводим в последнюю колонку выходного файла.

11 лет назад
andrush
39 летУкраина
15 лет в сервисе
Был
5 месяцев назад
Выбранный исполнитель
Dent0n
38 летРоссия
11 лет в сервисе
Был
9 лет назад
11 лет назад
$15
2 дня
Константин отлично справился с работой! Спасибо!!
Отличный заказчик. Четкое задание, мгновенная оплата. Рекомендую!
  • Похожие заказы
  • -Разработка интерфейса, реализующего алгоритм работы оборудования торгового автомата; -создание драйверов для торговых автоматов для управления через РС; - Отладка программ на прототипе (торговый автомат + РС) в дальнейшем - разработка ПО для мониторинга работы автоматов через ...

    Закрыт
    11 лет назад
  • Концепция: Общий календарь с событиями и напоминаниями о них (типа календарей Outlook и т.п.). Клиент-серверный вариант. Подробности в приложении. P.S. Использовать только стандартные компоненты. Естественно нужны все исходники.

    Прикладное ПО1 исполнитель
    Закрыт
    11 лет назад
  • Есть список из фраз, которые надо искать (несколько сотен). Находятся в текстовом файле, по 1 фразе на строке. Есть список URLов сайтов (домены 2го уровня или 3го). Находятся в текстовом файле, по 1 УРЛу на строке. Надо ...

    Прикладное ПО1 исполнитель
    Завершен
    11 лет назад
  • Наша компания разрабатывает электронные устройства промышленного назначения, к которым требуется сопроводительный софт, позволяющий конечному пользователю менять их настройки. Разработка такого софта для нас дело непрофильное и мы хотели бы это направление аутсорсить. Оптимально было бы ...

    Закрыт
    11 лет назад
  • Необходимо написать БОТа, который будет отслеживать определенных юзеров на различных форумах и отправлять им личное сообщение. От вас — опыт эмитации дйствий пользователя через COM интерфейс браузера... Приложение предпочтительно написать на C# (но возможны и ...

    Закрыт
    11 лет назад
  • Есть текстовый файл с поисковыми запросами, каждый запрос - одна строка, нужно подставить эти запросы в поиск гуглу и яндексу и вывести для каждого из них первый результат (URL) в выдаче поисковиков Также рассмотрю вариант со ...

    Прикладное ПО1 исполнитель
    Завершен
    11 лет назад
  • Исходные данные: есть небольшой металлический диск белого или серого цвета, 2-3мм толщиной, вращающийся со скоростью около 1 оборота в секунду, возможно даже медленнее. На диске есть полоса-отметка, красного или черного цвета. Задача: с помощью камеры андроид-телефона ...

    Закрыт
    11 лет назад
  • Исходный код должен быть написан на Матлабе. Распознание будет выделятся с любого изображения на котором будет имется машина с номером. В остальных случаях распознания не должно работать. Прошу представить цены,сроки. Удачной работы!

    Закрыт
    11 лет назад