landlensdb
Streamlined geospatial image handling and database management with Python and PostGIS
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.5%) to scientific vocabulary
Repository
Streamlined geospatial image handling and database management with Python and PostGIS
Basic Info
- Host: GitHub
- Owner: landlensdb
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://landlensdb.sefa.ai
- Size: 229 MB
Statistics
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 7
- Releases: 4
Metadata Files
README.md
landlensdb: Geospatial Image Handling and Management
Streamlined geospatial image handling and database management
Overview
landlensdb helps you manage geolocated images and integrate them with other spatial data sources. The library supports: - Image downloading and storage - EXIF/geotag extraction - Road-network alignment - PostgreSQL integration
This workflow is designed for geo-data scientists, map enthusiasts, and anyone needing to process large sets of georeferenced images.
Features
- GeoImageFrame Management: Download, map, and convert geolocated images into a GeoDataFrame-like structure.
- Mapillary API Integration: Fetch and analyze images with geospatial metadata.
- EXIF Data Processing: Extract geolocation, timestamps, and orientation from image metadata.
- Database Operations: Store image records in PostgreSQL; retrieve them by location or time.
- Road Network Alignment: Snap image captures to road networks for precise route mapping.
Installation
Install the latest release from PyPI:
pip install landlensdb
Dependencies
[!IMPORTANT] You MUST have both GDAL and PostgreSQL with PostGIS installed to use
landlensdb.
- See GDAL Docs for instructions on installing GDAL.
- See PostGIS for installing PostGIS on top of PostgreSQL.
Minimum Requirements:
- GDAL ≥ 3.5 (ensure command-line tools work, e.g.,
gdalinfo --version) - PostgreSQL ≥ 14
- PostGIS ≥ 3.5 (the extension must be installed in your PostgreSQL database)
- Python ≥ 3.10
Quick Start
Below is a minimal example creating a GeoImageFrame:
```python from landlensdb.geoclasses import GeoImageFrame from shapely.geometry import Point
Create a simple GeoImageFrame from scratch
geoframe = GeoImageFrame( { "imageurl": ["https://example.com/image1.jpg"], "name": ["SampleImage"], "geometry": [Point(-120.5, 35.2)] } )
print(geo_frame.head()) ```
For additional usage examples, see our documentation.
Documentation
Full documentation (including tutorials and advanced usage) is available in this repository's docs/ folder. You can build the docs locally by installing the optional [docs] extras:
pip install -e '.[docs]'
mkdocs serve
Then open http://127.0.0.1:8000/ in your browser.
Developer Guides
Local Development
1. Clone this repository.
2. Install in editable mode with dev extras:
pip install --upgrade pip
pip install -e .[dev]
3. Make changes as needed and contribute via Pull Requests.
Testing
We use pytest for testing. Tests requires the following test database. Create if does not exist:
bash
createdb landlens_test && psql landlens_test -c "create extension postgis"
Then, we can run the tests:
bash
pytest tests
You can also run specific test files or functions, for example:
pytest tests/test_geoimageframe.py
Code Formatting & Pre-commit
landlensdb uses Black for formatting. Once you’ve installed [dev] extras:
pre-commit install
pre-commit run --all-files
This enforces linting and formatting on each commit.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to open issues, submit pull requests, and follow our code of conduct.
License
This project is licensed under the MIT License. See LICENSE.md for details.
Owner
- Name: landlensdb
- Login: landlensdb
- Kind: organization
- Repositories: 1
- Profile: https://github.com/landlensdb
Citation (CITATION.cff)
abstract: "Streamlined geospatial image handling and database management. landlensdb helps you manage geolocated images and integrate them with other spatial data sources."
authors:
- family-names: Tsutsumida
given-names: Narumasa
orcid: "https://orcid.org/0000-0002-6333-0301"
- family-names: Percival
given-names: Joseph
orcid: "https://orcid.org/0000-0001-5941-4601"
cff-version: 1.2.0
date-released: "2025-05-28"
identifiers:
- description: "version 0.1.4"
type: doi
value: 10.5281/zenodo.15206060
keywords:
- "street level imagery"
- "data management"
license: MIT
repository-code: "https://github.com/landlensdb/landlensdb"
title: "landlensdb: Geospatial Image Handling and Management"
version: 0.1.4
GitHub Events
Total
- Create event: 15
- Release event: 5
- Issues event: 1
- Watch event: 5
- Delete event: 3
- Issue comment event: 1
- Member event: 1
- Push event: 30
- Public event: 1
- Pull request review event: 2
- Pull request event: 15
- Fork event: 3
Last Year
- Create event: 15
- Release event: 5
- Issues event: 1
- Watch event: 5
- Delete event: 3
- Issue comment event: 1
- Member event: 1
- Push event: 30
- Public event: 1
- Pull request review event: 2
- Pull request event: 15
- Fork event: 3
Packages
- Total packages: 1
-
Total downloads:
- pypi 57 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 5
- Total maintainers: 1
pypi.org: landlensdb
Geospatial image handling and management
- Documentation: https://landlensdb.readthedocs.io/
- License: MIT
-
Latest release: 0.1.4
published about 1 year ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v5 composite
- postgis/postgis 15-3.3 docker
- actions/checkout v3 composite
- actions/setup-python v4 composite
- docker/login-action v2 composite
- jupyter/base-notebook latest build
- Pillow >=11.0.0
- Rtree >=1.4.0
- SQLAlchemy >=2.0.25
- folium >=0.19.1
- geoalchemy2 >=0.17.1
- geopandas >=1.0.1
- mapbox_vector_tile >=2.1.0
- numpy >=2.2.4
- osmnx >=2.0.1
- pandas >=2.2.0
- psycopg2 >=2.9.9
- pyogrio >=0.10.0
- pytz >=2025.1
- requests >=2.32.0
- shapely >=2.0.0
- timezonefinder >=6.5.8
- tqdm >=4.67.1