Единственными американскими данными о погоде, который в свободном доступе для коммерческого использования, является американская Национальная метеорологическая служба. Я хотел бы использовать его. Существует ли библиотека Ruby/Rails для доступа к нему?
Perl также был бы полезен. Они обеспечивают пример Perl. Я использовал бы его в качестве руководства для записи версии Ruby.
Нетрудно представить C++ код, просто используйте дизайн фасада
Я предполагаю, что ваш C++ код встроен в библиотеку, все, что вам нужно сделать, это сделать один C модуль в вашей C++ библиотеке в качестве фасада к вашей библиотеке вместе с чистым C заголовочным файлом. Модуль C вызовет соответствующие функции C++
После этого приложения и библиотека C получат полный доступ к предоставленному API C.
Например, вот образец фасадного модуля
#include <libInterface.h>
#include <objectedOrientedCppStuff.h>
int doObjectOrientedStuff(int *arg1, int arg2, char *arg3) {
Object obj = ObjectFactory->makeCppObj(arg3); // doing object oriented stuff here
obj->doStuff(arg2);
return obj->doMoreStuff(arg1);
}
, который вы затем выставляете эту функцию C в качестве своего API и можете свободно использовать ее в качестве C lib, беспокоясь о
// file name "libIntrface.h"
extern int doObjectOrientedStuff(int *, int, char*);
Очевидно, что это надуманный пример, но это самый простой способ показать библиотеку C++ в C
-121--2043467- Если выгрузить проект (в контекстном меню) и добавить его непосредственно перед
тэги он сохранит файл с вашей конфигурацией. Затем вы можете прочитать это обратно для использования в вашем коде.
<Target Name="BeforeBuild">
<WriteLinesToFile File="$(OutputPath)\env.config"
Lines="$(Configuration)" Overwrite="true">
</WriteLinesToFile>
</Target>
-121--3507959- NWS предоставляет веб-службу RESTful в дополнение к сервису SOAP, но если ваши потребности просты, рассмотрите outoftime-noaa github. Он обеспечивает простой интерфейс для получения данных прогноза и текущих условий.
(Предупреждаем, что одна из его зависимостей еще не совместима с Ruby 1.9.)
Существует модуль Perl CPAN под названием Weather-NWS
, который использует NDFD .
NDFD NDFD является веб-сервисом, основанным на SOAP. Просто используйте Ruby SOAP клиент, чтобы отправить ему нужную информацию и обработать ответ. У вас есть вопрос об использовании SOAP от Ruby?
.Это зависит от того, что вы хотите сделать.
Если вам нужен только виджет для одного или двух местоположений, то SOAP-интерфейс в порядке.
Если вам нужен большой объем данных (или много местоположений), то NOAA хочет, чтобы вы загружали необработанные данные grib2 (обновленные) ежечасно. Для этого работает простое пакетное задание.
.