毕设进程:postgreSQL操作入门

上午基本把需要的配置都弄好了,咨询学长接下来要做的事情就是去查找公交站点的数据,然后把公交站点描上,还有公交路线。

公交路线,最终只选择了几条,公交站点也选的比较少,因为我是一个一个手动获取的,而不是用爬虫也不是编程获取的,因此站点的数据精确度特别差,全选站点和公交路线已经毫无意义,于是就粗略的弄了下,还把坐标基本一致的站点变成一个站点,同一个名字命名。这样就把整个项目的难度降低到最小了,不用考虑站点名字不一样id不一样,怎么判断是同一个站点了(如果选择坐标为判断点,那在输出的时候,该输出这个点的哪个名字呢?)


地图源选择的是天地图,刚开始选的百度作为数据源,但是在搜坐标转换的时候意外收获到,百度的坐标系其实是火星坐标,进行的坐标转换也都是别的坐标系转向百度,但是百度坐标系下的数据是没有办法转到别的坐标系的,经过偏移加密了,是不能做逆向转换的。可是学长当时还是很肯定的说百度是4326坐标系的,结果画出来的图就是偏移的很多。学长给的建议是自己做偏移修改,但是我还是听取的另外一个大神的建议,选择真正使用4326坐标系的天地图作为数据源,不好的地方是,由于个人技术原因,只能获取两位小数点的坐标。


那些数据我还没有,后期再弄,现在看下postgreSQL数据库方面的操作,明天开始可以去图书馆了\(^o^)/

但是其实关于地理信息的操作,最好是使用GIS嘛,在SQL里做这个不太方便,现在只能是做数据库方面的知识储备,明天去找一下GIS相关的书籍

晚上看的postgreSQL(postgres-Q-L)内容如下:

首先需要知道怎么去操作PostgreSQL执行SQL查询,就是在pgAdmin界面上有个放大镜querry,用那个就可以对数据库进行操作了,且语句只能单条操作。

SELECT FROM WHERE  INSERT INTO table VALUES (“116”,xx,xx,...) UPDATE table


常用的函数:

ST_GeomFromText('POINT(x y)',900913)

 这个函数是将文本格式的数据转换成geometry格式,来进行地理信息的存储。

一个数据表必须得有geometry字段才能获得它的地理信息,进而进行地图展示。

但是我在导入成都市地理信息的时候,出现了point、line等几个表,这几个表是不能再Geoserver上面预览的,一预览就变成下载什么东东了,原因是这几个表格是基础表,它没有geometry字段的,因此不能在图层上展示。但是这并不代表成都市地理信息里面不包括点、线信息的,比如某超市,这是可以被存储成一个点的形式的,在成都市地理信息中也有存储到,只不过不是在point、line表这边,如某路其实是存储在road表中的,line只是基本表,在导入到Linux系统中的时候是可以自动清除掉这些基本表的,但是我这边是没有清除的,因而出现图层不能显示的现象。

这也就说明,在天地图上获取到公交站点坐标之后,不仅需要进行坐标转换,而且要使用ST_GeomFromText函数将文本信息转换成地理信息存储到数据表中。最终完成的站点和路线表其实并没有存储对应的坐标信息,而是用way(geomtery)来存储的。


ST_AsText(way) 

这个函数就是跟ST_GeomFromText对应的,可以由十六进制的地理信息得到文本格式的坐标信息。

如:SELECT ST_Astext((SELECT way FROM planet_osm_station WHERE station_id=1));

执行后会得到  “POINT(xxxxxx xxxxxxxx)”    不过是框的形式显示的,但是你复制的时候会发现是文本形式(string类型)的。


ST_Distance(geometry,geometry)

用于计算两点间的距离。还有计算点到线得距离的函数,我没关注这个是不是可以计算点到线得距离,我用到的是要计算点点间的距离


ST_PointN(geometry,interger n)输出这个几何形状中第num个结点的信息

我需要得到公交路线中第n个站点的geometry来写入到公交网络边表中的某个字段


ST_PointN(geometry)得到这个几何形体上点的个数


ST_Equals(geometry,geometry)判断两个几何形体是否为同一个形体


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值