Resources

Case Study: LGND's Discover App

Jeff

4 min. read

Building Discover with LGND’s API 

LGND’s Discover App

Discover is LGND’s application that finds things in imagery. Enter a query like "find playgrounds in Texas" and Discover uses LGND AI’s technology to find matches globally, in seconds. The app combines the power of LLMs with LGND's foundation model platform for conversational geospatial search.

Today, we’re sharing how we built LGND’s Discover app to create a performant application for Earth intelligence, using the LGND API's three primitives: embedding generation, search, and retrieval. 

How It Leverages the LGND API

Collections & Indexing

Similarity search is performed against a collection that contains embeddings generated from satellite imagery for a specific geographic area and time range. Collections are defined by a GeoJSON geometry (area of interest), date range, imagery source, embedding model, and tiling configuration. 

Each call for search references a specific collection. LGND hosts collections for Sentinel-2 and NAIP and restricts the public version of Discover to the latter. Interested in another geography or different date range? Users may call create-collections for specific areas of interest, sensors and dates to generate new embeddings. New collections must then be passed to create-index, to produce a searchable index.

Searching for Semantics 

A Discover session begins with a natural language prompt or a selection on a map. These entries are then passed either to search-by-text or search-by-location endpoints.

Natural language inputs to search-by-text are converted to vector embeddings by LGND's proprietary geospatial language model. These embeddings are then compared against chip embeddings stored in our vector database (see collections) using LGND’s indexing. LGND’s system can scan the entire planet’s index in less than one second. For location inputs, the intersecting chip is retrieved and then passed to the search-by-chip endpoint.

For Discover, we set the parameter top_k to 100, to return the 100 highest ranking results. Each result contains many fields, the key ones for us include cell_id, collection, datetime, similarity score value. Results can be restricted to specific areas of interest (AOIs) with the filter-chips-by-geometry endpoints. 

Change Detection

Those looking to monitor for specific changes, can call the search-changed-chips endpoint that accepts both before and after chip-ids and/or text to find cells where imagery has shifted between two semantic states. Asking for “all new solar arrays in California” results in a call to search-changed-chip where solar is the current positive class and the past negative class. Check out an example here

Screenshot of the LGND Discover's Change Detection Module

End to end

To recap, Discover passes your text string to the search endpoint which then queries an index that we create on a collection, returning the chip-ids for the top 100 matches. By wrapping LGND's satellite chip search behind a conversational interface, it dramatically lowers the barrier to earth observation — turning what was once a query-language or GIS-expert task into something anyone can do by just describing what they're looking for. We hope this post stirs your creativity to create geospatial search applications of your own. 

Questions before starting? Contact our team at sales@lgnd.ai.