Found 4220 bookmarks
Newest
OGC NSDI Modernization Project | Advancing U.S. Spatial Data
OGC NSDI Modernization Project | Advancing U.S. Spatial Data
The OGC NSDI Modernization Project supports the U.S. FGDC in advancing a modern, interoperable national spatial data infrastructure that improves access, integration, and AI-ready geospatial resources.
·ogc.org·
OGC NSDI Modernization Project | Advancing U.S. Spatial Data
SDI Modernization Gateway - Open Geospatial Consortium
SDI Modernization Gateway - Open Geospatial Consortium
The Open Geospatial Consortium (OGC), in partnership with the U.S. Federal Geographic Data Committee (FGDC) and our members, is spearheading an ambitious
·ogc.org·
SDI Modernization Gateway - Open Geospatial Consortium
Know Your Data: The First Challenge in Geospatial Integration
Know Your Data: The First Challenge in Geospatial Integration
Discover why understanding your data is the first challenge in geospatial integration projects, from metadata gaps to CRS identification and stakeholder engagement.
Before we can integrate, publish, or analyze datasets, we need to understand what we are working with. This involves answering questions such as: Does the dataset contain Personally Identifiable Information (PII)? What is its size on disk? Is it spatially enabled? What Coordinate Reference System (CRS) does it use? What is the update frequency? What are the spatial and temporal resolutions? What file format is it stored in? Who is responsible for the dataset?
File size, file format, and in some structured formats, the CRS can be determined through direct inspection.
·ogc.org·
Know Your Data: The First Challenge in Geospatial Integration
stac-spec/best-practices.md at master · radiantearth/stac-spec
stac-spec/best-practices.md at master · radiantearth/stac-spec
SpatioTemporal Asset Catalog specification - making geospatial assets openly searchable and crawlable - radiantearth/stac-spec
Enable Cross-origin resource sharing (CORS)
·github.com·
stac-spec/best-practices.md at master · radiantearth/stac-spec
The New SDLC With Vibe Coding
The New SDLC With Vibe Coding
Discover what actually works in AI. Join millions of builders, researchers, and labs evaluating agents, models, and frontier technology through crowdsourced benchmarks, competitions, and hackathons.
·kaggle.com·
The New SDLC With Vibe Coding
FieldMaps — Humanitarian Maps & Data
FieldMaps — Humanitarian Maps & Data
Mobile, offline, interactive reference maps & globally aggregated datasets for humanitarian use.
·fieldmaps.io·
FieldMaps — Humanitarian Maps & Data
Parquet with GEOMETRY type is not GeoParquet
Parquet with GEOMETRY type is not GeoParquet
Parquet with GEOMETRY and GEOGRAPHY is not GeoParquet. The two standards are compatible, and can be combined, with the caveat that the columns must be encoded as WKB. GeoParquet has more features, while Parquet with GEOMETRY and GEOGRAPHY brings native support for geospatial data in the Parquet format.
·rednegra.net·
Parquet with GEOMETRY type is not GeoParquet
stac | Skills Marketplace · LobeHub
stac | Skills Marketplace · LobeHub
STAC (SpatioTemporal Asset Catalog) specification expert for geospatial data catalogs
·lobehub.com·
stac | Skills Marketplace · LobeHub
Colophon - League Donation
Colophon - League Donation
Where data meets the diamond. How the tool works, what it models, and what it doesn't.
The adapter approach is more expensive to build and dramatically easier to maintain. Each platform’s raw API response flows through its adapter and emerges as a normalized LeagueData object with a consistent shape: league settings, team rosters, schedule, draft history, scoring categories, roster slot counts, and metadata.
The analytics layer never touches the raw platform response. It only reads the normalized output. Every player object carries the same fields regardless of platform: positions, platformId, draftRank, proTeam, dateOfBirth, percentOwned. Every roster entry carries slot (a position string like ‘SP’ or ‘WR’ or ‘BN’) and acquisitionType. The raw platform shape is fully consumed inside the adapter for normal operation. ESPN’s settings retry is the explicit exception: when the initial settings response is incomplete, the raw ESPN payload is held briefly under S._rawEspn so a second fetch can merge richer fields and the adapter can re-run against the augmented payload.
This separates the data translation problem from the analysis problem. When Yahoo changes its API response format, one function changes. When a new platform is added, a new adapter is written and the entire pipeline inherits it without modification. The normalization logic is also auditable in isolation, which matters for verifying that the tool is reading the data correctly.
Yahoo’s adapter has its own dialect. Yahoo’s stat IDs disagree with ESPN’s, so the adapter maps them to the canonical set the pipeline uses. Yahoo provides positions as strings rather than slot integers, which is one less translation. Yahoo’s OAuth flow introduces a lifecycle problem the ESPN connection doesn’t have: access tokens expire after one hour, so the server-side proxy silently refreshes them using the stored refresh token and passes new credentials back to the client. If a user returns after the four-hour window has elapsed, Yahoo asks them to authorize again, which is the price of using OAuth that takes its expiry seriously.
All four adapters stamp a platform field on the normalized output. Every function downstream that needs platform-specific behavior reads S.league.platform rather than maintaining its own detection. The source of truth is in one place.
A source is any input that assigns ranked positions or projected statistics to players. FantasyPros ECR is a source. A FanGraphs Steamer CSV is a source. The connected platform’s internal rankings are a source. NFBC ADP is a source. Each measures something slightly different.
ECR is aggregated expert opinion, a consensus of analysts who have thought carefully about how the season will go, adjusted for positional context and draft format. Projection systems like Steamer are statistical models built on historical performance, aging curves, park factors, and regression to mean. They know nothing about narrative or reputation. ADP is a market price, what actual participants in real drafts have been paying for players. It carries behavioral patterns, recency bias, league-size effects, and the accumulated heuristics of the fantasy-playing population. These three things diverge for structural reasons. Experts may underweight regression toward the mean on breakout candidates. Projection models don’t capture role uncertainty or injury history that isn’t yet in the stats. ADP reflects what the market believes, which is often a lagged version of what the analysis shows.
Z-scores normalize player projections across scoring categories by measuring each player’s projected contribution as a deviation from the position-eligible player mean, in units of standard deviation. The normalization is necessary because raw counting stats aren’t comparable across categories. A projection of 30 home runs and a projection of 40 stolen bases can’t be directly summed into a value number without first converting them to a common scale.
·leaguedonation.com·
Colophon - League Donation
Deterministic Boundaries for Non-Deterministic Agents
Deterministic Boundaries for Non-Deterministic Agents
Seven model families, three independent harnesses, every result checked against the code — including the nulls and every retraction.
·moriapp.dev·
Deterministic Boundaries for Non-Deterministic Agents
stac-geoparquet
stac-geoparquet
Convert STAC items between JSON, GeoParquet, pgstac, and Delta Lake.
·stac-utils.github.io·
stac-geoparquet
STAC Browser
STAC Browser
·radiantearth.github.io·
STAC Browser
Converting Legacy Shapefiles to… · Spatial Data Archival
Converting Legacy Shapefiles to… · Spatial Data Archival
Migrating multi-terabyte legacy shapefile archives into columnar GeoParquet storage requires deterministic pipeline orchestration, strict schema…
Shapefiles frequently fail during bulk ingestion due to implicit encoding mismatches, malformed .prj definitions, and untyped attribute columns. Execute a deterministic validation gate before triggering conversion jobs.
Extract Metadata Deterministically
Parse featureCount, geometryType, CRS, and field definitions from the JSON. Reject datasets where featureCount is -1 or unknown; these indicate a corrupted .shx index, which you regenerate by rewriting the dataset (ogr2ogr regenerated.shp input.shp).
Enforce CRS Synchronization: Missing or legacy WKT1 .prj files cause downstream projection drift. Normalize explicitly:
If the output is ambiguous, force EPSG:4326 or a project-specific projected CRS using ogr2ogr -t_srs EPSG:XXXX. Store the resolved EPSG code directly in the GeoParquet geo metadata block. Do not rely on implicit CRS inference. Refer to CRS Synchronization in Pipelines for standardized projection registries.
Map DBF Types to Arrow Primitives: DBF lacks native boolean, date, or 64-bit integer support. Apply explicit type coercion during ingestion: | DBF Type | Arrow Primitive | Coercion Logic | |----------|----------------|----------------| | String(254) | large_string | Truncate with audit log if >254 chars | | Numeric(10,2) | float64 | Preserve precision; reject NaN unless explicitly allowed | | Date(YYYYMMDD) | date32 | Parse via pd.to_datetime(..., format='%Y%m%d') | | Logical | boolean | Map T/F/Y/N/1/0 → True/False |
Log any field exceeding 254 characters to a compliance manifest before truncation. Reject implicit type promotion to prevent silent data loss.
Monolithic ogr2ogr invocations exhaust memory and stall on terabyte-scale archives. Implement a chunked, parallelized pipeline with strict resource boundaries.
export GDAL_NUM_THREADS=ALL_CPUS export OGR_MAX_BUFFER_SIZE=512000000 export CPL_DEBUG=ON export SHAPE_ENCODING=UTF-8 export GDAL_CACHEMAX=2048
·spatialdataarchival.org·
Converting Legacy Shapefiles to… · Spatial Data Archival