szpapas 发表于 2013-1-30 01:40:42

更新地理类型的方法

更新一行数据:

update grid5 set green_type = 1 from green
where grid5.gid = 1 AND
grid5.the_geom && green.the_geom AND
within(centroid(grid5.the_geom), green.the_geom);

增加SmallGZ的边框
insert into smallgz values(1,geomFromText('POLYGON((12601800 2634500, 12601800 2660500, 12629800 2660500, 12629800 2634500, 12601800 2634500))',900913));

转换数据方法
shp2pgsql -s 900913 river_900913.shp rivers > rivers.sql

考虑编码格式转换

在postgres下执行
/Library/PostgreSQL/8.3/bin/psql -d GZ125 -f /Users/liujun/MyRails/water/rivers.sql


Ruby脚本 water_grid5.rb
#for k1 in 1..29680000
ka, kb = ARGV.to_i, ARGV.to_ifor k1 in ka..kbputs 'update grid5 set water_type = 1 from rivers where grid5.gid = ' + k1.to_s + ' ANDst_within ( centroid(grid5.the_geom), rivers.the_geom);'   end

运行:
ruby water_grid5.rb 1 1000000 > set1.txt
页: [1]
查看完整版本: 更新地理类型的方法