pnorman / osmborder Goto Github PK
View Code? Open in Web Editor NEWConvert admin relations to render borders
Convert admin relations to render borders
On Ubuntu 16.04:
sudo apt install libosmium2-dev zlib1g-dev
# Installed: libosmium2-dev: 2.6.0-2 zlib1g-dev: 1:1.2.8.dfsg-2ubuntu4
/mnt/tiles/osmborder$ git clone https://github.com/pnorman/osmborder.git
cd osmborder
mkdir build
cd build
cmake ..
Build results: https://gist.github.com/nyurik/280facb823bda8378ba12cb941aef064
dpkg -L libosmium2-dev
shows all headers are in /usr/include/osmium
, one file /usr/include/gdalcpp.hpp
, and some examples in /usr/share/doc/libosmium2-dev
Also, there is no /usr/include/osmium/version.hpp
per FindOsmium.cmake#L75
Paul, thanks for working on this! Great project. This ticket is an idea for improvement, which should be easy to do.
What about to start to make GitHub "release" for major versions this project?
Maybe the ready-to-use processed data (SHP/CSV/...) from the release could be attached to the release instead of placing it on your private "legolas" server?
See:
https://help.github.com/articles/distributing-large-binaries/
The limit is 2 GB per file, which should be fine for this project.
You get a reliable and fast download service for the produced data this way. We use it on OSMNames.org too.
If I understand it correctly, the tool currently cannot deal with partial diffs. This means that anytime a change involving borders is made, the entire table need to be recalculated. It would be nice (but likely far from trivial) to make the tool so that it can also consume partial (minutely?) diffs.
The postgres dump can fail without error message in case of no space left on disk.
There should be outputs in
osmborder_filter -v -o filtered.pbf data/hawaii.osm.pbf
[ 0:00] Reading relations (1st pass through input file)...
[ 0:01] Preparing way ID list...
[ 0:01] Reading ways (2nd pass through input file)...
[1] 923404 segmentation fault (core dumped) osmborder_filter -v -o filtered.pbf data/hawaii.osm.pbf
Extracted via:
osmconvert /opt/data/public_files/planet-v0.1.osm.pbf --complete-multipolygons --complete-boundaries --complete-ways --drop-author -B=hawaii.poly -o=hawaii.osm.pbf
#0 0x000071520d82ece5 in raise () from /usr/lib/libc.so.6
#1 0x000071520d818857 in abort () from /usr/lib/libc.so.6
#2 0x000071520dbb181d in __gnu_cxx::__verbose_terminate_handler () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
#3 0x000071520dbbe2ea in __cxxabiv1::__terminate (handler=<optimized out>) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
#4 0x000071520dbbe357 in std::terminate () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:58
#5 0x000071520dbbe5be in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x5eb60f5c4fe0 <typeinfo for std::system_error@@GLIBCXX_3.4.11>,
dest=0x71520dbea940 <std::system_error::~system_error()>) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:95
#6 0x00005eb60f5aee17 in osmium::io::detail::open_for_writing (allow_overwrite=<optimized out>, filename="filtered.pbf")
at /usr/include/c++/9.2.1/ext/new_allocator.h:89
#7 osmium::io::Writer::Writer<osmium::io::Header&> (this=0x7fff71736ca0, file=...) at /usr/include/osmium/io/writer.hpp:251
#8 0x00005eb60f5af6a4 in osmium::io::Writer::Writer<osmium::io::Header&> (this=0x7fff71736ca0, filename=...)
at /usr/include/c++/9.2.1/bits/basic_string.h:263
#9 0x00005eb60f579d8c in main (argc=<optimized out>, argv=<optimized out>) at /home/akh/GIS/osmborder/src/osmborder_filter.cpp:122
The same crash occurs in an existing working docker image (so not related to compilation of osmborder)
Can provide the pbf if you want.
It is feasible to support the disputed_by and claimed_by tags? I mean not in the core code, but at least, it's technically doable?
I know these tags are not documented, but there are de facto.
I'm looking for a way to render alternative maps, based on some countries point of view and be able to switch using vector tiles.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.