用于新南威尔士州农村消防服务事故的异步GeoJSON客户端库。

aio-geojson-nsw-rfs-incidents的Python项目详细描述


python aio geojson nsw rfs事件

Build StatusCoverage StatusPyPiVersion

此库提供对NSW Rural Fire Service事件提要的方便异步访问。在

安装

pip install aio-geojson-nsw-rfs-incidents

使用

有关如何使用此库的示例,请参见下文。在实例化 特定的类-feed或feed manager-并提供所需的参数, 您可以调用update来检索提要数据。返回值 将是状态代码的元组和实际数据的列表形式 特定于选定源的源条目。在

状态代码

  • OK:更新进行得很好,数据被检索到。图书馆可能还会 返回空数据,例如,因为没有条目满足筛选条件 标准。在
  • OK_NO_DATA:更新进行得很好,但是没有检索到任何数据 因为服务器指示自上次请求后没有更新。在
  • ERROR:更新过程中出错

参数

ParameterDescription
^{}Coordinates (tuple of latitude/longitude)

支持的筛选器

^{tb2}$

示例

importasynciofromaiohttpimportClientSessionfromaio_geojson_nsw_rfs_incidentsimportNswRuralFireServiceIncidentsFeedasyncdefmain()->None:asyncwithClientSession()aswebsession:# Home Coordinates: Latitude: -33.0, Longitude: 150.0# Filter radius: 50 km# Filter categories: 'Advice'feed=NswRuralFireServiceIncidentsFeed(websession,(-33.0,150.0),filter_radius=50,filter_categories=['Advice'])status,entries=awaitfeed.update()print(status)print(entries)asyncio.get_event_loop().run_until_complete(main())

源条目属性

每个提要条目都填充以下属性:

NameDescriptionFeed attribute
geometryAll geometry details of this entry.^{}
coordinatesBest coordinates (latitude, longitude) of this entry.^{}
external_idThe unique public identifier for this incident.^{}
titleTitle of this entry.^{}
attributionAttribution of the feed.n/a
distance_to_homeDistance in km of this entry to the home coordinates.n/a
categoryThe alert level of the incident ('Emergency Warning', 'Watch and Act', 'Advice','Not Applicable').^{}
publication_dateThe publication date of the incidents.^{}
descriptionThe description of the incident.^{}
locationLocation description of the incident.^{} -> ^{}
council_areaCouncil are this incident falls into.^{} -> ^{}
statusStatus of the incident.^{} -> ^{}
typeType of the incident (e.g. Bush Fire, Grass Fire, Hazard Reduction).^{} -> ^{}
fireIndicated if this incident is a fire or not (^{}/^{}).^{} -> ^{}
sizeSize in ha.^{} -> ^{}
responsible_agencyAgency responsible for this incident.^{} -> ^{}

订阅源管理器

Feed管理器通过通知 关于新的提要条目、更新和删除条目的提要的使用者 与上次更新源相比。在

  • 如果当前提要更新是第一次更新,那么所有提要条目都将 报告为新的。feed manager将跟踪所有feed条目' 已成功处理的外部ID。在
  • 如果当前提要更新不是第一次更新,那么提要管理器将 生产三套:
    • 不在上一个源更新中但位于 当前源更新将报告为新的。在
    • 在上一个源更新中,但仍在 当前订阅源更新将被报告为要更新。在
    • 在上一个源更新中但不在 当前源更新将被报告删除。在
  • 如果当前更新失败,则上一次更新中处理的所有提要条目 将报告要删除源更新。在

从提要成功更新后,提要管理器提供两个 不同日期:

  • last_update将是提要中最后一次更新的时间戳 不管成功与否。在
  • last_update_successful将是上次成功更新的时间戳 从饲料。如果此库的用户需要,此日期可能有用 以不同的方式处理来自feed更新的间歇性错误。在
  • last_timestamp(可选,取决于提要数据)将是最新的 从提要数据中提取的时间戳。 这要求底层feed数据实际上包含一个合适的 日期。如果此库的用户希望,此日期可能有用 如果feed条目实际上没有被更新,则对它们进行不同的处理。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题