Advertisement
Guest User

Untitled

a guest
Aug 9th, 2011
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. DATA_DIR = "/path/to/file"
  2.  
  3. wget -nd -A .zip -P $DATA_DIR http://download.geonames.org/export/dump/cities15000.zip
  4. unzip cities15000.zip
  5.  
  6. drop table geonames
  7. create table geonames (
  8. geonameid int,
  9. name varchar(200),
  10. asciiname varchar(200),
  11. alternatenames text,
  12. latitude float,
  13. longitude float,
  14. fclass char(1),
  15. fcode varchar(10),
  16. country varchar(2),
  17. cc2 varchar(60),
  18. admin1 varchar(20),
  19. admin2 varchar(80),
  20. admin3 varchar(20),
  21. admin4 varchar(20),
  22. population bigint,
  23. elevation int,
  24. gtopo30 int,
  25. timezone varchar(40),
  26. moddate date
  27. );
  28.  
  29. SELECT AddGeometryColumn ('public','geonames','point_geom',4326,'POINT',2);
  30.  
  31. COPY geonames (geonameid,name,asciiname,alternatenames,latitude,longitude,fclass,fcode,country,cc2,admin1,admin2,admin3,admin4,population,elevation,gtopo30,timezone,moddate) from '/cities1500.txt' null as '';
  32.  
  33. UPDATE geonames
  34. SET point_geom = PointFromText('POINT(' || longitude || ' ' || latitude || ')',4326)
  35.  
  36. CREATE INDEX idx_point_geom ON geonames
  37. USING GIST (point_geom);
  38.  
  39. VACUUM ANALYZE geonames;
  40.  
  41. POSTGRESQL="host=localhost user=name dbname=name password=password"
  42.  
  43. if [ $1 = "new" ]; then
  44. ogr2ogr -overwrite -skipfailures -f "FileFGB test.gdb PG:"$POSTGRESQL" \
  45. -sql "SELECT geonameid,name,asciiname,alternatenames,latitude,longitude,fclass,fcode,country,cc2,admin1,admin2,admin3,admin4,population,elevation,gtopo30,timezone,moddate,d.point_geom as geom FROM
  46. geonames d, world_boundaries b WHERE (b.cntry_name = '$2') AND d.point_geom && b.wkb_geometry
  47. AND intersects(d.geom, b.wkb_geometry)" -nln "test.gdb" -nlt POINT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement