OpenStreetMap: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
mNo edit summary
Line 2: Line 2:
In particular, the [http://bostongis.com/?content_name=loading_osm_postgis#229 Almost idiot's guide...]
In particular, the [http://bostongis.com/?content_name=loading_osm_postgis#229 Almost idiot's guide...]


First, get the data from CloudMade for California and Oregon
First, get the data from CloudMade for California and Oregon, or if you have LOTS of time and space get the whole planet.


  mkdir /green/GISData/OSM && cd /green/GISData/OSM
  mkdir /green/GISData/OSM && cd /green/GISData/OSM
Line 8: Line 8:
  wget http://downloads.cloudmade.com/americas/northern_america/united_states/oregon/oregon.osm.bz2
  wget http://downloads.cloudmade.com/americas/northern_america/united_states/oregon/oregon.osm.bz2


Create a lovely Postgis database
Create a lovely Postgis database and spatially enable it and add hstore.
 
'''createdb -U postgres osm -W -T template_postgis'''
 
My installed-from-source Postgis did not have hstore.sql so I built it:
 
cd ~/src/GIS/postgresql-9.0.6/contrib/hstore
USE_PGXS=1 make && sudo USE_PGXS=1 make install
cd /usr/local/pgsql/share/contrib
 
Do this each time you create a database a: add hstore support to the database
 
'''psql -U postgres osm < hstore.sql'''


=== Build osm2pgsql ===
=== Build osm2pgsql ===

Revision as of 21:22, 7 June 2013

Using excellent instructions from http://bostongis.com/ In particular, the Almost idiot's guide...

First, get the data from CloudMade for California and Oregon, or if you have LOTS of time and space get the whole planet.

mkdir /green/GISData/OSM && cd /green/GISData/OSM
wget http://downloads.cloudmade.com/americas/northern_america/united_states/california/california.osm.bz2
wget http://downloads.cloudmade.com/americas/northern_america/united_states/oregon/oregon.osm.bz2

Create a lovely Postgis database and spatially enable it and add hstore.

Build osm2pgsql

No need for any special configuration options, just build and install!

sudo apt-get install libxml2-dev libbz2-dev
cd ~/src/GIS
git clone https://github.com/openstreetmap/osm2pgsql.git
cd osm2pgsql
./autogen.sh
./configure
sed -i 's/-g -O2/-O2 -march=native -fomit-frame-pointer/' Makefile
make
sudo make install

Using osm2pgsql

# bellman
osm2pgsql oregon.osm.bz2 -d osm -U postgres \
-S /green/bwilson/src/GIS/osm2pgsql/default.style --hstore
osm2pgsql california.osm.bz2 --append -d osm -U postgres \
-S /green/bwilson/src/GIS/osm2pgsql/default.style --hstore
# dart
createdb -U postgres osm
createuser -U postgres osm
psql -U postgres osm 
CREATE EXTENSION hstore;
CREATE EXTENSION postgis;
# Just Oregon - I had to increase the node cache size on Dart where I am loading US West not just Oregon. -C 3000
osm2pgsql us-west-latest.osm.pbf -d osm -U osm -S /home/AGI/bwilson/src/GIS/osm2pgsql/default.style --hstore -C 3000
# The whole planet - You unzipped it Brian! Don't uncompress first - it's a waste of time.
osm2pgsql planet-latest.osm -d osm -U osm -S ~/src/GIS/osm2pgsql/default.style --hstore -C 5000

On my little server Bellman, it took 628 seconds to load the Oregon data and it took 3302 seconds to load California. Conclusion: California is much bigger, in fact there is probably room for me there in Nevada county.

I just loaded Oregon data onto my much snazzier server at work and it took 183 seconds.

Nice to have some data in my PostGIS server.

Now I need to get it showing up in Geoserver