pnorman / cheep Goto Github PK
View Code? Open in Web Editor NEWCHangeset Extraction Engine Process
CHangeset Extraction Engine Process
After import some tasks will need doing
UNIQUE
indexes built on id columnsANALYZE
all tablescheep needs to load data into the nodes/ways/relations tables. This must be done with COPY statements for performance reasons. It should also be multi-threaded.
We should have some way of migrating database schemas. Ruby has ways to do this with ActiveRecord::Migration, but what does it in Python?
Before importing data, there need to be tables. The first draft is
CREATE TABLE nodes (
id bigint NOT NULL,
long int NOT NULL,
lat int NOT NULL,
tags hstore);
CREATE TABLE ways (
id bigint NOT NULL,
nodes bigint[] NOT NULL,
tags hstore);
CREATE TYPE relation_type AS ENUM ('node','way','relation');
CREATE TYPE relation_member AS (type relation_type, id bigint);
CREATE TABLE relations (
id bigint NOT NULL,
members relation_member[],
tags hstore);
The tables should be created WITH (autovacuum_enabled = false);
which then needs to be reset post-import.
With a nodes bigint[] column in the ways table going from ways to child nodes is easy, but going from nodes to parent ways is harder. There are three popular ways to do it.
We know we're going to need to be able to import an OSM PBF. This should be isolated enough from the database to be testable by itself. Ideally it will be multi-threaded.
We should plan from the start to put cheep on pypi. Other software like MapProxy does this and it makes installing much easier.
We need to be able to run cheep and test it. The directory layout has to be compatible with #1.
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.