首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >google earth中的动态地图管理

google earth中的动态地图管理
EN

Stack Overflow用户
提问于 2009-10-21 11:48:15
回答 2查看 1.1K关注 0票数 0

我的目标是通过使用动态输入Postgis数据库的数据在google地图上显示各种形状(多边形、点、线串)(我的意思是我们可以实时看到地图中的修改)。我正在寻找一种方法,使用postgis中已经提供的空间结构(已经指定了形状是线串还是多边形等),而不是解析出坐标,然后在google地图中重新输入空间结构。我看到google地图api现在与kml数据格式兼容。然后我读到我必须将postgis数据转换成kml格式。我在论坛上读了一些关于通过FWTools将postgis数据转换为kml的实际过程,但没有看到任何对我有帮助的东西。我刚接触kml,但熟悉postgis、perl和PHP。有没有将postgis数据转换成kml的过程的教程?我可以从哪里开始呢?谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-23 00:21:11

您可以使用文本转换函数从Postgres DB获取空间数据的文本表示,例如

代码语言:javascript
复制
SELECT AsText(MyGemoetry) from MyTable

然后解析字符串,使用各种API函数创建对象-取决于PostGIS几何类型-并以类似于DOM的方式将这些对象附加到主GE插件对象。

如果您熟悉JavaScript并对XML有一定的基础知识,那么http://code.google.com/apis/earth/documentation/reference/是一个很好的开始。

不要忘了为你的对象指定唯一的ID,这样你就可以在以后删除/修改它们。

也许你可以得到一些启发,显示链接的"locator.js“文件,并查看函数PaintSubField( here )……这是另一种方法,有点粗糙但有效,避免了太多单独的父/子对象和结构

您可能还想咨询sample applications并使用code playground进行“快速原型设计”

re“实时”你至少需要一个可以链接你的生成/重绘例程的事件。

祝你好运MikeD

票数 1
EN

Stack Overflow用户

发布于 2009-10-23 02:37:50

您可以使用PostGIS直接转换为KML:

代码语言:javascript
复制
SELECT ST_AsKML(geometry) from MyTable;

ST_AsKML是几种输出格式之一,包括WKT、GML、GeoJSON等。

要在Google Earth中显示动态数据,一种常见的模式是使用带有NetworkLink元素的KML。如果链接的viewRefreshMode等于onStop,Google Earth将发出附加了边界框参数的请求(大概是发送到PHP提供的URL )。使用边界框查询PostGIS数据库中的要素,并以kml格式返回结果。如果你有很多很多的特征,但只想检索用户正在查看的区域中的特征,这是很棒的。

根据应用程序的复杂程度,您可能还想看看GeoDjango。(熟悉PostGIS是一个很好的开始!)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1598635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档