# geospatial

Published articles for geospatial.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Generating running routes with GPT-6 Astra and ChatGPT Work

DevFeed: [Generating running routes with GPT-6 Astra and ChatGPT Work](<https://devfeed.tech/articles/generating-running-routes-with-gpt-6-astra-and-chatgpt-work-30507.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/12/astra-running-routes/>)

Author: Simon Willison

Published: 2026-09-12T23:56:42Z

Content type: opinion

Language: en

Sources: [Simon Willison](<https://devfeed.tech/sources/simon-willison.md>), [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GeoJSON](<https://devfeed.tech/topics/geojson.md>), [Code](<https://devfeed.tech/topics/code.md>), [d3](<https://devfeed.tech/topics/d3.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-235](<https://devfeed.tech/tags/ai-2-235.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [chatgpt-204](<https://devfeed.tech/tags/chatgpt-204.md>), [code](<https://devfeed.tech/tags/code.md>), [d3](<https://devfeed.tech/tags/d3.md>), [d3-15](<https://devfeed.tech/tags/d3-15.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-981](<https://devfeed.tech/tags/generative-ai-1-981.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [geospatial-85](<https://devfeed.tech/tags/geospatial-85.md>), [gpt](<https://devfeed.tech/tags/gpt.md>), [gpt-6-astra](<https://devfeed.tech/tags/gpt-6-astra.md>), [gpt-6-astra-9](<https://devfeed.tech/tags/gpt-6-astra-9.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-947](<https://devfeed.tech/tags/llms-1-947.md>), [map](<https://devfeed.tech/tags/map.md>), [openai](<https://devfeed.tech/tags/openai.md>), [openai-463](<https://devfeed.tech/tags/openai-463.md>), [python](<https://devfeed.tech/tags/python.md>), [skills](<https://devfeed.tech/tags/skills.md>), [skills-15](<https://devfeed.tech/tags/skills-15.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

The article describes using ChatGPT Work with GPT-6 Astra to generate 5K and 10K running routes from OpenStreetMap data, producing an embedded visualization and downloadable GPX and GeoJSON files. It also criticizes the lack of visibility into the generated Python code and the loss of that code after thread compaction.

### Source excerpt

Here's a neat thing I had ChatGPT Work with GPT-6 Astra (Max) do this morning: I live at <my address>. Figure out 5K and 10K running routes from me that loop from my house. Use OSM data. It worked for 27 minutes and produced exactly what I'd asked for, as both an embedded visualization and downloadable GPX file and GeoJSON files. Here's that 5K route: When I asked it how it had created the route, it replied: I used Nominatim to locate the address and Overpass to download local OpenStreetMap roads and trails, then calculated the loops locally. Frustratingly, the actual code it ran and exact details of what it did weren't visible to me in the ChatGPT UI. I see this lack of transparency is an anti-feature. By the time I thought to ask for a copy of the Python code it had used, ChatGPT was unable to provide it. This appears to be because the thread had been compacted. I think any LLM system that uses compaction needs to both preserve the pre-compacted text and make that text available via agent tool calls, to protect against this kind of problem. As for displaying the map to me, that used the visualize skill. It created a file called /workspace/el-granada-5k-share.html to embed directly into the ChatGPT UI. Here's a copy of that HTML, which starts like this: <div id="eg-share-loop"> <div class="viz-row"><h3>El Granada harbor loop</h3><span class="text-small">5.1 km</span></div> <div id="eg-share-stage"></div> <div class="text-small text-muted">Map data © <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">OpenStreetMap contributors</a></div> <style> #eg-share-loop { width:100%; } #eg-share-loop #eg-share-stage { width:100%; margin:8px 0; } #eg-share-loop .eg-share-map { display:block; width:100%; touch-action:none; } #eg-share-loop .eg-share-map text { fill:var(--foreground); font-size:12px; font-weight:400; } #eg-share-loop .eg-share-label { paint-order:stroke; stroke:var(--background); stroke-width:3px; stroke-linejoin:round; } </style> <s

## Some recent, and not so recent, talks and activities

DevFeed: [Some recent, and not so recent, talks and activities](<https://devfeed.tech/articles/some-recent-and-not-so-recent-talks-and-activities-35597.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/some-recent-and-not-so-recent-talks-and-activities/>)

Author: Robin Wilson

Published: 2026-08-22T15:51:12Z

Content type: article

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [geospatial](<https://devfeed.tech/topics/geospatial.md>), [Database](<https://devfeed.tech/topics/database.md>), [Web](<https://devfeed.tech/topics/web.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [academic](<https://devfeed.tech/tags/academic.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [computing](<https://devfeed.tech/tags/computing.md>), [conference](<https://devfeed.tech/tags/conference.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gis](<https://devfeed.tech/tags/gis.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [qgis](<https://devfeed.tech/tags/qgis.md>), [remote-sensing](<https://devfeed.tech/tags/remote-sensing.md>), [server](<https://devfeed.tech/tags/server.md>), [talks](<https://devfeed.tech/tags/talks.md>), [uk](<https://devfeed.tech/tags/uk.md>)

### AI overview

A personal account of recent and past talks and activities, including an accepted FOSS4G UK 2026 talk and a recap of a FOSS4G UK 2025 workshop on generating live vector tiles from PostGIS with pg_tileserv.

### Source excerpt

There has been a long gap between posts (again!), and a lot of the stuff that I'm going to talk about in this post is fairly old too. Oh well, life keeps getting in the way of blogging. Anyway, I've recently submitted a talk for the FOSS4G UK 2026 conference in Leeds in October, and [...]

## Improved Column Reader API, First Cut of Geospatial Support: Hardwood 1.0.0.CR1 Is Available

DevFeed: [Improved Column Reader API, First Cut of Geospatial Support: Hardwood 1.0.0.CR1 Is Available](<https://devfeed.tech/articles/improved-column-reader-api-first-cut-of-geospatial-support-hardwood-1-0-0-cr1-is-available-18832.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/improved-column-reader-api-geospatial-support-hardwood-1-0-0-cr1-available/>)

Published: 2026-05-31T20:36:00Z

Content type: release

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [parquet](<https://devfeed.tech/topics/parquet.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [apache-parquet](<https://devfeed.tech/tags/apache-parquet.md>), [cli](<https://devfeed.tech/tags/cli.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Hardwood 1.0.0.CR1 introduces a substantially improved column reader API for Apache Parquet files, initial support for GEOMETRY and GEOGRAPHY column types, and other improvements to the core library and CLI. The columnar API remains experimental.

### Source excerpt

Table of Contents Reworked ColumnReader API Geospatial Support Documentation Overhaul Further Fixes and Improvements I am happy to announce the release of Hardwood 1.0.0.CR1! This first candidate release of Hardwood 1.0 brings a substantially improved API for columnar access to Apache Parquet files, initial support for Parquet's GEOMETRY/GEOGRAPHY column types, and many other improvements to the core library as well as the Hardwood CLI.

## Firestore adds generally available pipeline operations with full-text search, JOINs, geospatial queries, and data manipulation

DevFeed: [Firestore adds generally available pipeline operations with full-text search, JOINs, geospatial queries, and data manipulation](<https://devfeed.tech/articles/firestore-levels-up-bringing-the-power-of-search-and-joins-to-nosql-16661.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2026/04/firestore-pipelines-ga>)

Author: Morgan Chen; Minh Nguyen

Published: 2026-04-27T00:00:00Z

Content type: release

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firestore](<https://devfeed.tech/topics/firestore.md>), [NoSQL](<https://devfeed.tech/topics/nosql.md>), [Database](<https://devfeed.tech/topics/database.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [serverless architecture](<https://devfeed.tech/topics/serverless-architecture.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firestore](<https://devfeed.tech/tags/firestore.md>), [full-text-search](<https://devfeed.tech/tags/full-text-search.md>), [geo-queries](<https://devfeed.tech/tags/geo-queries.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [nosql](<https://devfeed.tech/tags/nosql.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>)

### AI overview

Firestore pipeline operations reached general availability on the enterprise edition, adding full-text search, geospatial queries, JOIN capabilities through subqueries, and data manipulation while retaining Firestore's NoSQL and serverless features.

### Source excerpt

With support for full-text search, joins, and geospatial queries, Firestore is ready to meet all of your app's querying needs.

## Pharmacy late-night opening hours analysis featured in the Financial Times

DevFeed: [Pharmacy late-night opening hours analysis featured in the Financial Times](<https://devfeed.tech/articles/pharmacy-late-night-opening-hours-analysis-featured-in-the-financial-times-35596.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/pharmacy-late-night-opening-hours-analysis-featured-in-the-financial-times/>)

Author: Robin Wilson

Published: 2026-02-04T14:10:37Z

Content type: article

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Data analysis](<https://devfeed.tech/topics/data-analysis.md>), [geospatial](<https://devfeed.tech/topics/geospatial.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Python](<https://devfeed.tech/topics/python.md>), [pandas](<https://devfeed.tech/topics/pandas.md>)

Tags: [academic](<https://devfeed.tech/tags/academic.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [article](<https://devfeed.tech/tags/article.md>), [data](<https://devfeed.tech/tags/data.md>), [data-analysis](<https://devfeed.tech/tags/data-analysis.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gis](<https://devfeed.tech/tags/gis.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

The article describes an analysis of NHS data on community pharmacy opening hours in England. It reports that the number of pharmacies open past 9pm on weekdays fell by approximately 95% between 2022 and 2025, leaving large areas without late-night pharmacy access. The analysis used Python, pandas, geospatial tools and mapping libraries, and was featured in the Financial Times.

### Source excerpt

Some data analysis I've done has been featured in the Financial Times today - see this article (the link may not work any more unless you have a FT subscription - sorry). The brief story is that I had terrible back pain over Christmas, and spoke to an out-of-hours GP on the phone who prescribed [...]

## Accelerating the magic cycle of research breakthroughs and real-world applications

DevFeed: [Accelerating the magic cycle of research breakthroughs and real-world applications](<https://devfeed.tech/articles/accelerating-the-magic-cycle-of-research-breakthroughs-and-real-world-applications-6745.md>)

Original publisher: [Read original article](<https://research.google/blog/accelerating-the-magic-cycle-of-research-breakthroughs-and-real-world-applications/>)

Published: 2025-10-31T07:40:00Z

Content type: article

Language: en

Sources: [The latest research from Google](<https://devfeed.tech/sources/the-latest-research-from-google.md>)

Topics: [Earth AI](<https://devfeed.tech/topics/earth-ai.md>), [Google](<https://devfeed.tech/topics/google.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [LLMs](<https://devfeed.tech/topics/llms.md>), [data](<https://devfeed.tech/topics/data.md>), [datasets](<https://devfeed.tech/topics/datasets.md>)

Tags: [climate-sustainability](<https://devfeed.tech/tags/climate-sustainability.md>), [discovery](<https://devfeed.tech/tags/discovery.md>), [earth-ai](<https://devfeed.tech/tags/earth-ai.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [google](<https://devfeed.tech/tags/google.md>), [health-bioscience](<https://devfeed.tech/tags/health-bioscience.md>), [innovation](<https://devfeed.tech/tags/innovation.md>), [llms](<https://devfeed.tech/tags/llms.md>), [models](<https://devfeed.tech/tags/models.md>), [quantum](<https://devfeed.tech/tags/quantum.md>), [research](<https://devfeed.tech/tags/research.md>), [sustainability](<https://devfeed.tech/tags/sustainability.md>)

### AI overview

Google Research describes how advances in AI models, agentic tools, and open platforms are accelerating a cycle between scientific research and real-world applications. The article highlights Earth AI, including geospatial models and an LLM-powered reasoning agent that works across imagery, population, environmental data, and multiple datasets.

### Source excerpt

Climate & Sustainability

## The 10 Most Popular Postgres Extensions on Neon

DevFeed: [The 10 Most Popular Postgres Extensions on Neon](<https://devfeed.tech/articles/the-10-most-popular-postgres-extensions-on-neon-5812.md>)

Original publisher: [Read original article](<https://neon.com/blog/ten-most-popular-postgres-extensions>)

Author: Ben Hagan

Published: 2025-08-21T16:04:10Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Database](<https://devfeed.tech/topics/database.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [full-text-search](<https://devfeed.tech/tags/full-text-search.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [insights](<https://devfeed.tech/tags/insights.md>), [latency](<https://devfeed.tech/tags/latency.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [observability](<https://devfeed.tech/tags/observability.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-monitoring](<https://devfeed.tech/tags/performance-monitoring.md>), [popular](<https://devfeed.tech/tags/popular.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [search](<https://devfeed.tech/tags/search.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

The article presents the ten most popular Postgres extensions on Neon, using platform-wide installation and usage statistics. It explains how extensions can add full-text search, geospatial capabilities, vector storage for embeddings, database functions, query-performance monitoring, and UUID generation, and highlights an interactive real-time dashboard for exploring the data.

### Source excerpt

Postgres is loved not just for what it is, but for what it can become: its extension system lets you transform your database into a full-text search engine, a geospatial powerhouse, or a vector store for embeddings - all without switching tools. With many thousands of active data...

## Data API Routes to Nearest Read Replica

DevFeed: [Data API Routes to Nearest Read Replica](<https://devfeed.tech/articles/data-api-routes-to-nearest-read-replica-352.md>)

Original publisher: [Read original article](<https://supabase.com/blog/data-api-nearest-read-replica>)

Author: José Ledesma

Published: 2025-04-04T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Database](<https://devfeed.tech/topics/database.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [networking](<https://devfeed.tech/topics/networking.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [api](<https://devfeed.tech/tags/api.md>), [data](<https://devfeed.tech/tags/data.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [latency](<https://devfeed.tech/tags/latency.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [network](<https://devfeed.tech/tags/network.md>), [read-replica](<https://devfeed.tech/tags/read-replica.md>), [round-robin](<https://devfeed.tech/tags/round-robin.md>)

### AI overview

Supabase is releasing geo-routing for Data API requests, directing each request to the geographically nearest read replica. The feature uses network-edge geolocation, regional coordinate mapping, distance calculations with the Haversine formula, and round-robin distribution when multiple databases share a region. It is available by default through a load balancer endpoint and requires only a project URL update.

### Source excerpt

Route your Data API (PostgREST) requests to the nearest Read Replica

## Postgres as a Graph Database: (Ab)using pgRouting

DevFeed: [Postgres as a Graph Database: (Ab)using pgRouting](<https://devfeed.tech/articles/postgres-as-a-graph-database-ab-using-pgrouting-487.md>)

Original publisher: [Read original article](<https://supabase.com/blog/pgrouting-postgres-graph-database>)

Author: Paul Copplestone

Published: 2025-02-25T07:00:00Z

Content type: tutorial

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [graph-database](<https://devfeed.tech/topics/graph-database.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Neo4j](<https://devfeed.tech/topics/neo4j.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [graph-database](<https://devfeed.tech/tags/graph-database.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learn](<https://devfeed.tech/tags/learn.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [routing](<https://devfeed.tech/tags/routing.md>)

### AI overview

This article explains how pgRouting, a Postgres extension commonly used with PostGIS, can provide lightweight graph functionality. It covers shortest-path and network analysis, GIS applications, task scheduling with dependency graphs, critical-path analysis, and the use of Dijkstra's algorithm.

### Source excerpt

Learn how to use pgRouting as a lightweight graph database solution in Postgres.

## Diagnosing Incorrect Results in a MongoDB Geospatial Radius Query

DevFeed: [Diagnosing Incorrect Results in a MongoDB Geospatial Radius Query](<https://devfeed.tech/articles/are-you-using-the-right-mongo-geospatial-query-19163.md>)

Original publisher: [Read original article](<https://artsy.github.io/blog/2023/02/10/mongo-geospatial-queries/>)

Published: 2023-02-10T00:00:00Z

Content type: article

Language: en

Sources: [Artsy](<https://devfeed.tech/sources/artsy.md>)

Topics: [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [API](<https://devfeed.tech/topics/api.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gravity](<https://devfeed.tech/tags/gravity.md>), [json](<https://devfeed.tech/tags/json.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [rails](<https://devfeed.tech/tags/rails.md>)

### AI overview

This article investigates why a MongoDB geospatial query omitted a gallery from Los Angeles exhibition listings. By widening the radius and visualizing the results, it finds that points near the left and right edges of the circle were incorrectly omitted.

### Source excerpt

We recently got a report from one of our galleries in the Los Angeles area that they weren't showing up on our Los Angeles exhibition listings. I fielded the report and right away confirmed: when we asked our core API for /shows?near=<los angeles coordinates>, sure enough this gallery partner didn't make the cut. Turns out they are based in Santa Monica, a separate and neighboring municipality. They must not be within the 25km radius that we use by default for these sorts of queries. Case closed. Or so I thought. After some back and forth with our partner I decided to investigate more thoroughly, this time using some tricks of the trade from my other life outside of Artsy. Casting a wider net If there was something wrong with our 25km radius query, I wanted to start by casting a wider net and visualizing the results. I consulted our Rails application code to find the query logic in question, and then issued the same query directly to MongoDB. Something like the following query (simplified for clarity): // a $geoWithin $center query db.events.find({ coordinates: { $geoWithin: { $center: [[-118.24, 34.05], 25 / 111.32], }, }, }) In the query above we are asking MongoDB to give us all events within a 25km radius around the point 34.05°N, 118.24°W which we have designated as a central point within Los Angeles. For our purposes in this post we can consider "events" ~= "exhibitions" ~= "shows." We are not asking for the 25km radius directly, but rather converting it into an equivalent amount of geographic degrees by using a conversion factor of 1° ~= 111.32 kilometers, a factor which is true at enough the equator. I modified the above query to cast a 50km net in order to see if there were some edges cases that needed scrutiny. Taking the resulting JSON response, I fired up Placemark, my favorite new tool for wrangling geospatial data. (Incidentally I recommend reading Tom Macwright's recent reflection on creating Placemark as a bootstrapped indie developer.) All shows within

## BKD trees, used in Elasticsearch

DevFeed: [BKD trees, used in Elasticsearch](<https://devfeed.tech/articles/bkd-trees-used-in-elasticsearch-39614.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2020-05-30_BKD-trees--used-in-Elasticsearch-40e8afd2a1a4>)

Published: 2020-05-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [data](<https://devfeed.tech/topics/data.md>), [geospatial](<https://devfeed.tech/topics/geospatial.md>)

Tags: [binary-search](<https://devfeed.tech/tags/binary-search.md>), [data](<https://devfeed.tech/tags/data.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [searching](<https://devfeed.tech/tags/searching.md>), [trees](<https://devfeed.tech/tags/trees.md>)

### AI overview

This tutorial explains how BKD trees extend binary search tree ideas to support multidimensional search, including geospatial data, and describes their use in Elasticsearch.

### Source excerpt

I had worked on Elasticsearch back in 2015, when it was more known for its text searching capabilities using inverted indexes. As I looked to pick it up again last year for another project, I saw that Elasticsearch had added core support for other data types from text like numbers, IP addresses, geospatial data types, etc...

## Slices of Slices of Slices in Go

DevFeed: [Slices of Slices of Slices in Go](<https://devfeed.tech/articles/slices-of-slices-of-slices-in-go-22075.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2013/09/slices-of-slices-of-slices-in-go.html>)

Published: 2013-09-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Code](<https://devfeed.tech/topics/code.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [programming](<https://devfeed.tech/tags/programming.md>), [slices](<https://devfeed.tech/tags/slices.md>)

### AI overview

This tutorial explains how to model nested Go slices for storing marine forecast polygons in MongoDB. It defines polygon, polygon-ring, and marine-station structures, including the nested coordinate representation required for MongoDB geospatial searches.

### Source excerpt

I am working on building code to load polygons for the different Marine Forecast areas in the United States. These polygons need to be stored in MongoDB and there is a special way that needs to be done. It would not have been a big deal if it wasn't for this fact. There isn't just one polygon for each area. There is an external polygon and then zero to many interior polygons that need to be stored in relationship. After staring at the problem for a bit I realized that I needed to create a slice of Marine Forecast areas, each of which contained a slice of polygons. To store each polygon ring I needed a slice of geographic coordinates. Finally each coordinate needed to be stored in a two dimensional array of floats. A picture is worth a thousand words: