Перейду сразу к так называемому ТЗ. Интернет-магазин на движке Shop-Script premium, но сильно доработанный.Поэтому все доработки просьба делать с пояснениями что где поменять, простая замена файлов магазина не приниматься так как многие файлы движка ...
Построение графиков на основе данных из файлов CSV
Задача - брать данные из постоянно обновляемого файла формата CSV и на основе этих данных строить графики.
Язык - PHP, исходный код, желательно с небольшими комментариями.
Платформа - Win+Apache(IIS)+PHP+MySQL.
Итак, теперь более подробно.
1) Есть папка, название папки нам всегда известно и заранее определенно. Пусть будет папка THD.
2) В папке появляются файлы вида - HidTEMPerHUM_2010Y7M27D15h16m31s.csv Дата и время в названии которых периодически изменяются.
3) Эти файлы содержат данные вида:
No. ,Date Time ,Temperature , Humidty , Dewpoint
1, 27/7/2010 15:16:31, 30.40C, 28.91, 10.33
2, 27/7/2010 15:16:47, 30.38C, 28.98, 10.35
3, 27/7/2010 15:16:52, 30.38C, 28.91, 10.31
4, 27/7/2010 15:16:57, 30.38C, 28.91, 10.31
5, 27/7/2010 15:17:02, 30.38C, 28.91, 10.31
6, 27/7/2010 15:17:07, 30.38C, 28.91, 10.31
7, 27/7/2010 15:17:12, 30.39C, 28.91, 10.32
8, 27/7/2010 15:17:17, 30.40C, 28.88, 10.31
9, 27/7/2010 15:17:22, 30.40C, 28.84, 10.29
10, 27/7/2010 15:17:27, 30.40C, 28.84, 10.29
4) На основе этих данных необходим график. Внешний вид графика указан во вложении.
График взят отсюда - http://pchart.sourceforge.net/documentation.php?topic=exemple2
Возможно лучшим вариантом будет эти данные сначала загонять с базу - Mysql.
Далее описываю параметры графика:
1) Ось абсцисс должна быть разделена на 24 отрезка(часа) от 0 до 24. Подписей более никаких не надо. Все цифры горизонтального написания (обычного).
2) Ось ординат должна быть динамической и ее значения должны меняться в зависимости от наших данных. Подписей более никаких не надо. Все цифры горизонтального написания (обычного).
20 делений, кратных 5-ти.
Например, от -20 до 75.
3) Всего необходимо строить 3 кривых по параметрам: Температура, Влажность, Точка росы.
Цвета не принципиальны. Пусть будут - Красный, Зеленый, Синий соответственно.
4) Нужна легенда из 3-х пунктов: Температура, Влажность, Точка росы. Можно по-английски, не принципиально.
5) Данных за 24 часа приблизительно может быть от 100 показателей до 1500.
6) Размер картинки графика, ширина - 1000рх. Высота - как получится.
Необходимо, чтобы на странице с графиком были кнопки для просмотра графиков(данных) за прошлые дни, недели, месяцы, годы.
При просмотре за 24 часа под графиком пишем - текущую дату. Слева от нее кнопку с датой предыдущего дня. Справа - пусто.
При клике по дате предыдущего дня. Показываем график за прошлый день. Под ним дату предыдущего дня. Слева от нее кнопка с (датой предыдущего дня)-1. Справа - (дата предыдущего дня)+1.
Т.е. таким образом можем уходить вглубь дат насколько это возможно. Когда доходим до самого последнего дня, то слева уже не показываем кнопку с датой предыдущего дня.
Формат даты: 30.07.2010
Еще немного ниже размещаем 4 ссылки, горизонтально. Можно использовать Radio-Button.
ДЕНЬ НЕДЕЛЯ МЕСЯЦ ГОД
При нажатии на неделю показываем график за неделю.
Ось абсцисс делим на 7 частей.
Внизу кнопки для навигации по неделям - 30 неделя 2010
Внизу кнопки для навигации по периодам.
При нажатии на месяц показываем график за месяц.
Ось абсцисс делим на 28(29), 30 или 31, в зависимости от месяца.
Внизу кнопки для навигации по месяцам - июль 2010
Внизу кнопки для навигации по периодам.
При нажатии на год показываем график за год.
Ось абсцисс делим на 12 частей.
Внизу кнопки для навигации по месяцам.
Внизу кнопки для навигации по периодам.
Пока есть один момент. Не очень понятно сколько точек брать из исходных данных чтобы строить графики
за неделю, месяц и год.
Возможно неплохим вариантом будет брать для недели каждую 5 точку.
Для месяца - 30-ую.
Для года - 160ую.
Надо посмотреть на готовые графики.
И еще один момент. Кеш. Графики, которые мы уже посмотрели(сгенерировали) нужно сохранять в файлах картинок.
И перегенерировать их только тогда, когда файла для нужного нам периода нет.
Срок исполнения - месяц.
Выбранный исполнитель
Заявки фрилансеров
Похожие заказы
- $150Веб-программирование1 исполнительЗакрыт15 лет назад
Нужна функция на PHP. В качестве аргумента принимает переменную-текст, опции конвертирования. На выходе выдает преобразованный -- синонимизированный-- текст, с сохранением смысла. С задаваемым элементом случайности. Очень хочется ещё такую примочку, по типу ...
Веб-программирование2 заявкиЗакрыт15 лет назад- $1000
Требуется написать парсер который пройдет по форумам и соберет данные в базу такого формата задача принимается в виде скрипта (или демона) который это сделает и базы собраных данных формат базы такой, структура данных ...
Веб-программирование1 исполнительЗавершен15 лет назад - $50
Есть админка, которая реализована с использованием smarty. Нужно сделать скрипт, который бы позволял выбирать нужный язык и фиксировать его через куку. Далее по этой куке грузился бы языковой файл, ...
Веб-программирование2 заявкиЗакрыт15 лет назад Добрый день! Есть сайт - http://dzerjinsk.ru/ Сайт работает на Drupal. Требуется поставить еще один баннер небоскреб на главной странице в соответствии со скрином. Кроме установки баннера на главной странице, необходимо будет прописать его ...
Веб-программирование1 исполнительЗавершен15 лет назадСоздать динамическую выборку из названия и применение в Ttitle странице. Ну вот коротенько, как-то так. Сайт по запросу. Оплата WMR по курсу ЦБ РФ на день расчетов. Пожалуйста, реально оценивайте проект. Все ...
Веб-программирование1 исполнительЗавершен15 лет назад- $50
Задача: Сделать сплеш страницу, в середине которой видеоролик, который начинается в чёрных тонах, а заканчивается в красных. Фон страницы должен по завершению ролика стать красным, желательно плавно, из чёрного. ...
Веб-программирование3 заявкиЗакрыт15 лет назад Добрый день. Сайт http://www.seedoff.net После регистрации на сайте становится доступна страница http://www.seedoff.net/upload Это страница загрузки торрента, используется ява-скрипт. выберите любую категорию и появится соответствующий шаблон оформления. ...
Веб-программирование1 исполнительЗавершен15 лет назадЗдравствуйте! У меня есть шаблон TM. Что требуется от Вас: 1. Как правило, во всех этих шаблонах есть кнопки More Info, так вот если в них разместить текст длинной более чем 4500 знаков, ...
Веб-программирование3 заявкиЗакрыт15 лет назадДобрый день. компания которая занимается обзвоном населения, созданием реестров населения. остро нуждается в автоматизации процесса. Нужно создать база, и приложения для управления ими. Приложение должно работать на сервере, ни каких win приложений. ...
Веб-программирование9 заявокЗакрыт15 лет назад