aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README58
1 files changed, 57 insertions, 1 deletions
diff --git a/README b/README
index 8d10021..a11a09b 100644
--- a/README
+++ b/README
@@ -26,7 +26,63 @@ a more formal description
We serve the node endpoint, but no others. We implment the tag based filtering,
for only one tag and a bounding box.
-database shema
+Dabase setup
+=============
+
+We use postgres 9.* with postgis 1.5. Postgres 9.0 is used becaus we need some
+functions on hstores and postgis 1.5 is used for fancy geometry things.
+
+To setup a database you first need a runing postgres 9.0 instance. I hope you know
+how to do this.
+
+Use
+
+ createdb osm
+
+to create a database with name osm. Use
+
+ createlang plpgsql osm
+
+to add plpgsql to your database. If you want to create a database user do so:
+
+ createuser <username>
+
+Add hstore support for your database:
+
+ psql -d osm < /share/contrib/hstore.sql
+
+Add postgis support for your database:
+
+ psql -d osm < /share/contrib/postgis-1.5/postgis.sql
+
+Just do:
+
+ psql -d osm < /share/contrib/postgis-1.5/spatial_ref_sys.sql
+
+Create the actual schema for osm data. For this step you need osmosis. If your
+osmosis build is correct there should be a directory named pacakge/scripts where
+you run:
+
+ psql -d osm < pgsql_simple_schema_0.6.sql
+ psql -d osm < pgsql_simple_schema_0.6_linestring.sql
+Optional/stil to test:
+
+ psql -d osm < pgsql_simple_schema_0.6_action.sql
+ psql -d osm < pgsql_simple_schema_0.6_bbox.sql
+
+For documentation on the schema read pgsql_simple.txt.
+
+Import data from xml with:
+
+ osmosis --read-xml file="planet.osm.bz2" --wp host="localhost" password="TopSecretPassword" user="insertUserNameHere" database="osm"
+
+Before or after import you may want to create a index or two. Examples below:
+ CREATE INDEX idx_nodes_tags ON nodes USING GIN(tags);
+ CREATE INDEX idx_nodes_tags ON nodes USING GIST(tags);
+ CREATE INDEX idx_ways_tags ON ways USING GIN(tags);
+ CREATE INDEX idx_ways_tags ON ways USING GIST(tags);
+
+database shema (out dated)
================
We keep data in a highly specioaliced shema, that allows us to prevent tables