今日已更新 154 条资讯 | 累计 29607 条内容
关于我们

标签:#gis

找到 8 篇相关文章

AI 资讯

Building an Open-Source NOAA MRMS Radar Renderer in Python

When I started building Weather Experience , I wasn't planning to release an open-source project. I simply wanted to answer a question: Could I build a modern radar rendering pipeline using NOAA's publicly available MRMS data? That question led me down a rabbit hole of GRIB2 decoding, radar products, rendering pipelines, performance benchmarking, and ultimately the release of MRMS Renderer , the first open-source project from Taylor Creative Development. Why MRMS? NOAA's Multi-Radar/Multi-Sensor (MRMS) system provides an incredible amount of weather data. For my use case, I focused on the ReflectivityAtLowestAltitude product because it provides an excellent foundation for radar visualization. The challenge wasn't obtaining the data. The challenge was turning that data into something useful. The Pipeline MRMS Renderer performs the complete workflow: Discover the latest MRMS products directly from NOAA/NCEP Download and decompress GRIB2 data Decode the grid using ecCodes Process reflectivity values with NumPy Render transparent PNG radar frames Generate an animation manifest Display animated radar over OpenStreetMap using Leaflet Everything runs locally. The project intentionally does not provide a hosted radar service. Instead, it demonstrates how developers can work directly with NOAA's publicly available data. Performance One of the biggest questions I had at the beginning was performance. Could this realistically be done fast enough for a modern application? Rather than speculate, I wrote benchmarks. On my M4 Pro MacBook Pro over a standard Wi-Fi connection, the complete pipeline—from downloading the latest MRMS frame through rendering the finished PNG—consistently completed in around two seconds . The surprising result wasn't the renderer. The renderer itself was already highly optimized using NumPy vectorization. The largest source of latency turned out to be downloading the GRIB2 data itself. That finding helped shape later architectural decisions for Weather E

2026-08-09 原文 →
AI 资讯

Hours-of-Service Break Planning, Right on the Route

A consumer nav app tells the driver where to turn. It will not tell the dispatcher where the 11-hour driving clock runs out — and, more importantly, whether there is legal parking when it does. That second question is the one that strands a truck at 11 PM on the shoulder of an off-ramp with every nearby lot already full. Road511’s routing endpoint now answers it. Send the driver’s Hours-of-Service clock along with the route, and the response carries an hos[] array: every point on the corridor where the driver must take a break or stop driving under the selected regime, the projected time they reach it, the legal deadline, and — the part that matters operationally — the truck parking and rest areas actually reachable before that deadline. How It Works It rides the same call as everything else routing does: POST /api/v1/routing/route . You already send an origin, a destination, and a truck profile. To get the HOS projection, add an hos block inside the truck object describing the driver’s clock at departure. curl -X POST "https://api.road511.com/api/v1/routing/route" \ -H "X-API-Key: your_key" \ -H "Content-Type: application/json" \ -d '{ "origin": { "lat": 41.8781, "lng": -87.6298 }, "destination": { "lat": 39.7392, "lng": -104.9903 }, "departure_time": "2026-06-08T06:00:00Z", "truck": { "profile": "tractor", "weight_t": 36.0, "height_m": 4.2, "axles": 5, "hos": { "ruleset": "us", "drive_remaining_s": 39600, "duty_remaining_s": 50400, "since_break_s": 0 } }, "enrichment": { "include_features": ["truck_parking", "rest_areas"] } }' That’s a Chicago→Denver run for a fresh driver on US rules: 11 hours of driving left ( 39600 s), a 14-hour duty window ( 50400 s), and zero driving time since the last break. Every counter is “seconds remaining” against the named ruleset’s limit. The HOS Clock The hos object is the driver’s state, not a fixed policy. Store only the ruleset on a reusable truck profile — the per-trip counters are supplied inline on each request and merge on to

2026-06-22 原文 →