用于环境原因的众包地图编辑应用程序
Posted
技术标签:
【中文标题】用于环境原因的众包地图编辑应用程序【英文标题】:A crowdsourced Map Edit application for enviornmental cause 【发布时间】:2010-01-14 15:50:32 【问题描述】:我想创建一个应用程序,用户可以在其中标记污染工厂的地图位置。谷歌地图提供了地图编辑器功能。我们希望拥有自己的网站,例如 www.toxic-map.org,人们可以在其中标记这些位置。最好的方法是什么?
此外,我们应该能够备份这个数据库,以便交叉检查或用于其他目的。
这将使我们几乎无法对此类实体进行准确的人口普查,从而帮助我们打击这些危害环境的非法工厂。我们的大部分工作都集中在亚洲的发展中国家。
已编辑:谷歌地图是其中一种选择。我也对其他可能的解决方案持开放态度。我正在寻找我们可以做快速原型设计的东西。
提前谢谢你!!
【问题讨论】:
如果您认为一两个星期“很快”,我认为您不会花更多时间来制作带有 Google 地图的原型以及其余层:应用程序 + 数据库。您会在网上找到很多帮助和示例。 【参考方案1】:在客户端,我建议您查看OpenLayers,这是一个在 BSD 样式许可下发布的免费和开源 Web 地图框架。它完全用 javascript 编写并提供了许多功能,包括您的应用程序可能需要的功能(向地图添加标记,拖动它们以调整位置,...)。
它还支持数十种不同的地理数据格式和服务,例如WMS、KML 或谷歌地图。
如果您担心与使用 Google 地图有关的许可问题,您可以使用其他全球数据源,例如 OpenStreetMap 或公共 WMS,前提是它们可以提供足够覆盖您感兴趣的区域。
在服务器端,我同意Daniel Vassallo提供的答案。我将添加一些细节,并建议您以 OpenLayers 原生支持的标准格式提供标记,例如 KML、GeoJSON 或 GeoRSS。这将使在地图上绘制标记变得非常容易。
看起来是一个非常有趣的项目,希望你能幸运地开始它。
【讨论】:
【参考方案2】:我似乎记得,如果您通过 Google 的界面输入坐标,您可以对坐标执行的操作会受到限制,但如果这不打扰您,那么可以肯定的是,Google 可能是您的最佳选择。 (它可能只是与输入 Google 地球或类似的几何图形有关。)
无论如何,Google 似乎都符合您的意识形态,因为他们正在进行大量的绿色能源开发。甚至可能是一个卖点。
但是,如果您可以单独输入数据并让 Google 地图为您显示它,那么我认为他们不会对数据拥有所有权。
【讨论】:
查看 Google 的许可条款:事实上,当您在 Google 地图上显示数据时,您即授予 Google 无限期的许可,可以在全球范围内任意地点存储、操作和复制您的数据。他们说这只是为了在搜索结果中显示它,但许可条款没有任何限制。【参考方案3】:我认为最好的办法是使用Google Maps API,而不是“我的地图”中的地图编辑器。
使用一些基本的 JavaScript,您将能够允许用户在他们想要标记的污染位置上放置标记。
您将需要一个服务器端的数据库和一个瘦应用层:
接受并验证用户添加的新标记。 将标记从数据库提供给浏览器。您可能希望使用AJAX 在浏览器和应用层之间进行交互。
我认为这种类型的项目非常适合在Google App Engine 上托管。您将能够利用 webapp framework 的简单性,而 Google Datastore 似乎很合适。
附带说明一下,您可能有兴趣查看Heat Map API 的 Google 地图。我认为热图在这样的项目中看起来不错。
【讨论】:
【参考方案4】:方法是这样的: 1.用户可以将标记拖到有毒工厂的位置。 2. 打开一个简单的表格,输入有毒工厂的详细信息。 3、然后将纬度、经度等数据存入数据库。
请参考www.loppee.com他们有一个类似的解决方案,用户可以标记人或感兴趣的地方的位置。 Loppee 使用 LeafletJS javascript 框架。这是一个简单的框架。您将能够开发快速原型。 LeafletJS.com 有简单易用的代码示例。
此外,您还可以启用地理位置和 IP 三角测量。参考:Longitude and latitude value from IP address
【讨论】:
以上是关于用于环境原因的众包地图编辑应用程序的主要内容,如果未能解决你的问题,请参考以下文章