昨天弄QSQL导出mapfile,一直遇到下图的错误
原因是QGIS在渲染图层时候使用了新的符号,在图层上右键-属性,如下图将符号修改就OK了
然后我尝试使用QGIS连接本机PostGIS数据,结果老是报下面的错误:
上网查了很多资料,还是没有搞定,暂时就阁下了嘛,不过PostGIS还是要连接的,于是只好修改代码来弄了。
代码只需要修改layer部分就可以了,其他的我用了一个比较笨的方法,我先把PostGIS里面需要连接的图层下下来,用QGIS加载导出mapfile(PostGIS连接不上,打开个本地shape还是可以的)。
下面是我的layer修改的代码:
LAYER NAME 'testHouse' TYPE POINT CONNECTION "user=postgres dbname=test host=localhost password=jiangfei port=5432" #CONNECTION为连接PostGIS连接字符串,dbname为需要连接的数据集 CONNECTIONTYPE postgis DATA "geom from house" #DATA部分比较麻烦,格式为<columnname> from <tablename>,其中"columnname" 是含有geometry objects的Column的名字;"tablename"是使用的geometry data的table名字。 METADATA 'ows_title' 'house' END STATUS OFF TRANSPARENCY 100 PROJECTION 'proj=longlat' 'datum=WGS84' 'no_defs' END
我修改这段代码时候,在 DATA "geom from house"被卡住了,文档中解释是<columnname> from <tablename>,tablename我理解,就是图层名字嘛,那个columnname是何方神圣?文档中又说"columnname" 是含有geometry objects的Column的名字,于是我打开ArcMap,我想geometry嘛,那就是Shape字段嘛,结果运行网页上说Shape字段错误...百思不得其解啊,在我将要放弃的时候,我打开了PostGIS的客户端,如下图:
阿门,我瞬间就明白了,NM,居然是这货...这货什么时候冒出这个字段的,修改下,OK,图显示出来了
自此,也算大功告成了(虽然很业余)...
至于QGIS连接PostGIS的错误,再继续研究下,毕竟用现在的方法,too simple...O(∩_∩)O~