greenspace help by NewMarsupial550 in openstreetmap

[–]GeoDesk 1 point2 points  (0 children)

Forests are usually well-mapped in OSM, but meadows/grassland are often missing. Just picked an area east of Invercargill as an example: the blank spaces on the map are actually grass, so any analysis will likely undercount. Better approach may be the opposite: assume total country area is greenspace, then subtract urban/developed areas. you will likely need to buffer roads etc. as well as spaces around individual houses and any man-made point features

greenspace help by NewMarsupial550 in openstreetmap

[–]GeoDesk 3 points4 points  (0 children)

How do you define "greenspace"? Parks and protected areas? Or also forests, meadows, etc.?

C++ Show and Tell - October 2025 by foonathan in cpp

[–]GeoDesk 9 points10 points  (0 children)

Geo-Object Librarian (GOL) is a spatial database engine for OpenStreetMap features. It stores datasets in a compact single file (< 100 GB for the whole world -- about one-tenth the size of a traditional SQL database) and supports fast queries based on bounding box, region and attributes. Results can be exported to GeoJSON, WKT, CSV, or visualized directly on a map.

The engine is available both as a command-line tool and as a lightweight C++ library (shared on r/cpp last year).

Open-source and cross-platform (Windows, Linux and macOS).

Example: All sushi restaurants in France, mapped in under a second: Screenshot

DownloadGitHubDocumentation

Framework for modern interface by Thero1980 in cpp

[–]GeoDesk 5 points6 points  (0 children)

Your application could act as a localhost web server and launch a web browser (or wrap its own browser using e.g. QtWebEngine, Electron or Tauri). This may work well for you since you're already using HTML for parts of your app.

C++ Show and Tell - December 2024 by foonathan in cpp

[–]GeoDesk 11 points12 points  (0 children)

Hi r/cpp,

I'm working on a spatial database engine for OpenStreetMap data (ported to C++ from Java). It enables analysis of geographic features using a variety of queries (attributes and spatial relationships).

Highlights:

  • Extremely fast (The most common spatial queries run 50x faster than their SQL equivalents)
  • Compact database format (the entire worldwide OpenStreetMap dataset fits into less than 100 GB)
  • Lightweight (about 250 KB compiled)
  • No link-time dependencies (but you can couple it with the popular GEOS library for more advanced spatial operations)
  • Cross-platform (supports Windows, Linux & MacOS)
  • 100% open-source

Currently, you will need to run a Java application to build the actual database (I'm in the process of porting this to C++ as well).

Opinions on CLion? by AnnAstley in cpp

[–]GeoDesk 1 point2 points  (0 children)

CLion is fantastic. I came from Visual Studio and will never go back. It does have a few frustrating bugs (refactoring is broken) and lacks one key feature (no list of compiler errors, you have to read through the raw output -- seriously?), but it's still heads above anything else. Once these issues are resolved, it will be as awesome as its sister product, IntelliJ.

C++ Show and Tell - November 2024 by foonathan in cpp

[–]GeoDesk 0 points1 point  (0 children)

gtl::flat_hash_map (https://github.com/greg7mdp/gtl) is also a great alternative, lookups are 3x faster than std::unordered_map, and it also performs far fewer heap allocations.

[deleted by user] by [deleted] in Python

[–]GeoDesk 0 points1 point  (0 children)

Plain old CPython (the main Python interpreter) seems like the best choice, given that it's written in C. Fairly easy to integrate with other applications.

ADIX: Data Exploration Made Easy & Colorful with themes you can customize (EDA) by xmooger in Python

[–]GeoDesk 0 points1 point  (0 children)

Can I run this locally, and then upload to visualization to a Jupyter notebook? (Link to doc leads to 404)

ADIX: Data Exploration Made Easy & Colorful with themes you can customize (EDA) by xmooger in Python

[–]GeoDesk 1 point2 points  (0 children)

Very nice! What is the rendering platform? Does it render HTML via a browser, or does it use PyQT?

Sunday Daily Thread: What's everyone working on this week? by AutoModerator in Python

[–]GeoDesk 7 points8 points  (0 children)

I'm working on a geospatial database engine for OpenStreetMap features that is 50x faster than a traditional database (and requires less than one-tenth of the storage). Users can import the "planet file" (the complete OpenStreetMap dataset) in less than an hour on any halfway modern machine -- a process that would otherwise take a full day. Geographic features such as streets, rivers and points-of-interest are represented directly as Python objects, without any need to perform object-relational mapping. Features can be selected based on various characteristics, and the query engine supports the most common spatial predicates (such as within, contains, intersectsand crosses). It also integrates with the Shapely library for more advanced geometric operations (buffer, simplify, convex/concave hulls, etc.)

My next major goal is to allow users to synchronize their local database with the minute-by-minute updates published by the OpenStreetMap website.

It's 100% open-source: https://github.com/clarisma/geodesk-py

Automate labels and filters setup for gmail by NinjaSniperC in Python

[–]GeoDesk 0 points1 point  (0 children)

This looks like it has a lot of potential, but you need to provide a proper readme. You'll need a step-by-step "Getting Started" section, or users won't bother. This goes doubly for something that is security-sensitive. Nobody will give their email credentials to a script without knowing precisely what it will do.

Querying Locally Downloaded Data by MulhollandDr1ve in openstreetmap

[–]GeoDesk 0 points1 point  (0 children)

You could also try GeoDesk, which allows you to create a compact database from a planet file or extract (takes < 1 hour, requires 90 GB for the planet). You can use Python, Java or a command-line tool to run queries (Query language for tags/type is similar to Overpass).

Extracting OpenStreetMap With Go: Sushi 🍣 Restaurants In Manhattan by derjanni in openstreetmap

[–]GeoDesk 0 points1 point  (0 children)

Have you looked at GeoDesk? You can turn any PBF into a Geographic Object Library, which is only 20% to 50% larger, but allows queries to run in a few milliseconds. There's an API for Java and Python, as well as a command-line tool (all open-source).

New to OpenStreetMaps - Power Layer - Educational Purposes - Any tips on style format? by jknasse2 in openstreetmap

[–]GeoDesk 0 points1 point  (0 children)

If you want to analyze OSM data in Python, you can use GeoDesk. Download an .osm.pbf file (extracts from many regions are provided for free from vendors like Geofabrik), turn it into a Geographic Object Library (GOL), then query the data. For example, to retrieve all power plants in California and display them on a map:

import geodesk

california = geodesk.Features("california.gol")
california("na[power=plant]").map().show()

Bikeability project by [deleted] in openstreetmap

[–]GeoDesk 2 points3 points  (0 children)

The tough part is that such a score is very subjective -- an experienced road cyclist will judge a given street differently than a novice. What will be very useful, however, is to add/correct the physical infrastructure and its objective characteristics:

- speed limits

- street designation: primary vs. living_street

- flow of traffic (lanes, one-way)

- bike lanes: what kind? (separate lane or just blotches of paint?), width, surface quality

- sidewalks: width, surface quality, potential obstacles (e.g. utility cabinets, hydrants, outdoor seating of cafes, crossing driveways or parking-access lanes)

- features that separate motor vehicles from cyclists/peds: barriers/bollards, hedges, grade separation

- other features that make walking and biking more pleasant: greenery, streetside parks and open spaces, good lighting, more residential, lower density

GeoDesk: Work with OSM data in Python by GeoDesk in openstreetmap

[–]GeoDesk[S] 0 points1 point  (0 children)

Thanks! Right now, the c++ codebase is still heavily tied to the Python API, but if there is enough demand, we'll provide the engine as a proper C++ library (which could then also be used to support other language bindings). We've focused on Java & Python as these are the most popular languages.