posm / openmapkit Goto Github PK
View Code? Open in Web Editor NEWMaster Directory for OpenMapKit
Home Page: http://openmapkit.org
Master Directory for OpenMapKit
Home Page: http://openmapkit.org
We are currently evaluating several approaches to handling OSM data, and each approach has advantages and disadvantages. This document is tracking each option so that we can evaluate the best path forward.
As it stands, we need a system that accepts many small OSM changesets received by OpenMapKit Server. There are many OSM files, and these files are stored on the file system.
This system must also be able to ingest source OSM data from a given HTTP endpoint. This format needs to be OSM XML, and OSM PBF would be a bonus.
We must be able to filter our edited OSM data by various parameters. This ability will allow us to gather and validate data to submit for a given user, and the ability to gather certain subsets of the edited data will be very useful in the workflow of submitting finally submitting edits to the OSM Editing API.
We need to visualize our OSM data on a map. Two approaches can be taken.
Regardless of the approach, we must serve OSM XML with a REST API compatable with the OSM 0.6 Editing API.
We have explored 3 options for handling our OSM data.
Currently, Ona and OpenMapKit Server provide an aggregation of OSM edits for a given form by concatenating all of the small OSM media attachments received by the ODK server. This is only sufficient for handling tag edits of existing OSM elements, because new OSM elements are created by assigning arbitrary negative IDs consistent only within the given OSM file. As these files are read and aggregated together, new negative IDs need to be assigned. This is possible if we parse each OSM file and assign new IDs ad hoc in the aggregation operation.
R&D efforts have focused on using Spatialite as the underlying database. Spatialite is SQLite with spatial extensions. An initial sprint that builds an OSM data model with Spatialite has been completed as OSMSpatialite. This approach was written in C++11 and is geared towards being compatible with AmigoClient. The data model is similar to the data model found in the current OpenMapKit Android.
As a team, we have the most experience working with PostGIS. The master OSM 0.6 Editing API uses Postgres as a backend, and Macrocosm is already built to leverage PostGIS. This is a traditional RDBMS, and it is not built to run on a low resource, embedded system.
Currently, our evaluation involving PostGIS is focused around learning about Macrocosm. If we use this tool, we will have to adapt it significantly to meet our needs. It will need to be reimagined for the staging use case. It doesn't look like the model takes into account OSM users, and some important attributes found in the master OSM model are missing.
It would be nice if it was possible to add vectors in an easy way, either by drawing them on the map or by using a gps track. This could be usefull to map roads, fences, etc
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.