Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DATA_DIR = "/path/to/file"
- wget -nd -A .zip -P $DATA_DIR http://download.geonames.org/export/dump/cities15000.zip
- unzip cities15000.zip
- drop table geonames
- create table geonames (
- geonameid int,
- name varchar(200),
- asciiname varchar(200),
- alternatenames text,
- latitude float,
- longitude float,
- fclass char(1),
- fcode varchar(10),
- country varchar(2),
- cc2 varchar(60),
- admin1 varchar(20),
- admin2 varchar(80),
- admin3 varchar(20),
- admin4 varchar(20),
- population bigint,
- elevation int,
- gtopo30 int,
- timezone varchar(40),
- moddate date
- );
- SELECT AddGeometryColumn ('public','geonames','point_geom',4326,'POINT',2);
- 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 '';
- UPDATE geonames
- SET point_geom = PointFromText('POINT(' || longitude || ' ' || latitude || ')',4326)
- CREATE INDEX idx_point_geom ON geonames
- USING GIST (point_geom);
- VACUUM ANALYZE geonames;
- POSTGRESQL="host=localhost user=name dbname=name password=password"
- if [ $1 = "new" ]; then
- ogr2ogr -overwrite -skipfailures -f "FileFGB test.gdb PG:"$POSTGRESQL" \
- -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
- geonames d, world_boundaries b WHERE (b.cntry_name = '$2') AND d.point_geom && b.wkb_geometry
- AND intersects(d.geom, b.wkb_geometry)" -nln "test.gdb" -nlt POINT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement