JavaCPP
planetiler
Our great sponsors
JavaCPP | planetiler | |
---|---|---|
8 | 30 | |
4,376 | 1,149 | |
1.1% | 4.9% | |
6.8 | 9.3 | |
21 days ago | 4 days ago | |
Java | Java | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
JavaCPP
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
JavaCPP and presets for working with JNI
-
JDK 19 released
In the meantime you might want to check out JavaCPP: https://github.com/bytedeco/javacpp
-
How can I use K/N with C++?
Maybe you can use JavaCPP?
-
Does Java 18 finally have a better alternative to JNI?
Here is the code for JNI, which uses the prebuilt JavaCPP library to call the getpid function. We don't have to write all the manual C binding code and rituals as the JavaCPP library already does it.
-
JEP 419: Foreign Function and Memory API
Javacpp is the best ffi library of all https://github.com/bytedeco/javacpp
-
If it gets better w age, will java become compatible for machine learning and data science?
As for our approach, we maintain a library called javacpp: https://github.com/bytedeco/javacpp which proves a python wheel like experience where we distribute natively optimized c/c++ code (and even cuda accelerated code) as jar files on maven central. We also are able to develop with a python like experience by passing pointers around and other low level constructs directly allowing optimizations that you typically only get in c/c++.
-
CXX - Safe interop between Rust and C++
https://github.com/bytedeco/javacpp
* it maps naturally and efficiently many common features afforded by the C++ language and often considered problematic, including overloaded operators, class and function templates, callbacks through function pointers, function objects (aka functors), virtual functions and member function pointers, nested struct definitions, variable length arguments, nested namespaces, large data structures containing arbitrary cycles, virtual and multiple inheritance, passing/returning by value/reference/string/vector, anonymous unions, bit fields, exceptions, destructors and shared or unique pointers (via either try-with-resources or garbage collection), and documentation comments*
-
An article on how to use C++ for cross-platform development
I did not try myself, but for JNI maybe this could make lives easier? https://github.com/bytedeco/javacpp
planetiler
-
Protomaps – A free and open source map of the world
Worth mentioning this project (https://github.com/onthegomap/planetiler) that lets you create osm mbtiles and pmtiles pretty easy!
-
Radar Maps: $0.50 per 1K map loads
For a self-hosted vector tile stack you can have a look into https://github.com/onthegomap/planetiler I found it very easy to get started and when you know the other stacks it is also very fast to create these vector tiles even for planet-scale.
(note, that I'm not affiliated with them, but they use some source code from us for the efficient import and also contributed to GraphHopper, but this did not influence my experience ;) )
> I wonder why so many seem to be moving away from raster tiles to vector data.
The flexibility of styling. And you can easily serve customers that need different default languages. This makes maps also more accessible for countries without Latin alphabet.
-
I honestly don't like using most Openstreetmap websites: slow, clunky. Is there a better way to do this faster on my own desktop?
I used https://github.com/onthegomap/planetiler and https://download.geofabrik.de, maybe it helps.
- Mapping LA's Soft-Story Building Earthquake Retrofits [OC]
- Mapping LA's Soft-Story Building Earthquake Retrofit Program [OC]
-
SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
I spent a while optimizing sqlite inserts for planetiler, this is what I came up with:
https://github.com/onthegomap/planetiler/blob/db0ab02263baaa...
It batches inserts into bulk statements and is able to do writes in the 500k+ per second range, and reads are 300-400k/s using those settings.
-
How The Post is replacing Mapbox with open source solutions
Checkout https://github.com/onthegomap/planetiler.
Super easy way to generate a MBTiles, which you can then serve directly, or further convert to PMTiles, which can be used to host vector tiles for client-side rendering using MapLibre (or other renderers).
Raster tiles are a lot harder because you have to generate them on the server, and that's a lot more resource intensive.
-
Self-Hosted Vector Tiles
I built planetiler (https://github.com/onthegomap/planetiler) for this purpose. The output up to z14 is ~80gb and depending on how big of a machine you have it takes from 30 minutes up to a few hours - no DB required, just java or docker. If you are only going to z11-12, it should be quite a bit faster/smaller.
Brandon from Protomaps is also helping add pmtiles output natively to planetiler, so you won't need a conversion step afterwards!
-
Does anyone know where to find the global raster set of buildings??
It's not raster directly, but you could use planetiler ( https://github.com/onthegomap/planetiler ) to build a full planet vector map . Then you could use something like TileServer-GL to server the vector map with a style. TileServer-gl ( https://github.com/maptiler/tileserver-gl) would provide a raster source that displays in the style you set on your vector map.
-
Ask HN: Who wants to be hired? (January 2023)
I recently left Twitter after 9 years, most recently serving as tech lead for the knowledge graph group (was 45 people). I helped apply the KG to drive a large portion of Twitter’s revenue and new product launches. In my spare time I do data visualization and web mapping, most recently https://github.com/onthegomap/planetiler
What are some alternatives?
JNA - Java Native Access
openmaptiles - OpenMapTiles Vector Tile Schema Implementation
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
openmaptiles-tools - Tools to turn the schema into other formats
JNR - Java Abstracted Foreign Function Layer
tilemaker - Make OpenStreetMap vector tiles without the stack
Cython - The most widely used Python to C compiler
sequentially-generate-planet-mbtiles - Generate vector tiles for the entire planet on relatively low spec hardware.
cppimport - Import C++ files directly from Python!
headway - Self-hostable maps stack, powered by OpenStreetMap.
djinni
operations - OSMF Operations Working Group issue tracking