tholcomb / goes-php
用于下载和提供NOAA GOES图像的Web服务,用于实时背景图像
v1.0.0
2021-09-23 20:40 UTC
Requires
- php: >=8.0
- ext-curl: *
- ext-imagick: *
- ext-sqlite3: *
- doctrine/orm: ^2.9
- guzzlehttp/guzzle: ^7.3
- symfony/process: ^5.3
- tholcomb/symple-console: ^1.0
- tholcomb/symple-http: ^1.0
This package is auto-updated.
Last update: 2024-09-24 03:13:16 UTC
README
这是一个用于下载和提供NOAA GOES图像的Web服务,用于实时背景图像。
如果你不熟悉,那是指地球同步轨道环境卫星。
需求
- PHP 8
- 带有Imagick扩展
- SQLite3
- jpegoptim(可选)
安装
Composer
$ composer create-project tholcomb/goes-php $INSTALL_DIR
手动
# Download from releases or: $ git clone https://github.com/tholcomb/goes-php.git $INSTALL_DIR $ cd $INSTALL_DIR $ composer install $ php bin/console.php goes:install
设置
文件权限
以下说明假设php-fpm以www-data用户身份运行,并且您的账户是www-data组的成员。请相应调整。
$ sudo chgrp -R www-data $INSTALL_DIR # 2 is the setgid bit $ chmod -R 2775 $INSTALL_DIR # Remove execute permission applied in last step $ find $INSTALL_DIR -type f -exec chmod 664 {} \;
crontab
这将使cron命令每5分钟运行一次。根据需要调整。以上假设与上面相同。
*/5 * * * * www-data php $INSTALL_DIR/bin/console.php goes:cron
nginx
server {
...
root $INSTALL_DIR/public;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
}
用法
管理用户
添加用户
$ php bin/console.php goes:user add
然后,按照提示操作。如果您对“包括时间数据”提示回答“是”,则时间戳和原始图像的信息将出现在南极洲下方,否则将被裁剪。
注意:API密钥不需要是安全的。也就是说,除非您的威胁模型包括极度小气的人,他们会研究您使用的晦涩软件,以便稍微打扰您。
列出用户
$ php bin/console.php goes:user list
删除用户
$ php bin/console.php goes:user remove $API_KEY
获取图像
只需发送带有您的API密钥的GET请求到/latest.jpg。API密钥可以通过两种方式包含:
- 作为GET参数'apiKey'(例如:/latest.jpg?apiKey=$API_KEY)
- 作为HTTP头'Api-Key'(例如:Api-Key: $API_KEY)
请参阅download_goes.php以获取一个工作示例。
iOS快捷方式
限制
这些限制是由于基本图像URL是硬编码的。 (Sue me.)如果您遇到这些限制,请随时给我发邮件或提交一个pull请求。
- 图像只来自GOES-East卫星
- 屏幕尺寸大于1808px的屏幕可能会出现图像退化
致谢
这个项目离不开美国国家大气和海洋管理局(NOAA)的出色工作,特别是国家环境卫星、数据和信息服务(NESDIS)以及卫星应用研究中心(STAR)。
向他们表达您的爱!最好是写信给您的国会议员。
