想知道GeoDjango和制图服务

时间:2011-11-26 06:28:55

标签: python database django google-maps geodjango

我正在尝试使用GeoDjango构建我的第一个GIS应用程序,在开始之前我有几个问题:

首先:GeoDjango与谷歌地图有什么关系?它只是处理信息,然后传递给谷歌地图等服务?

如果这是真的,那么使用GeoDjango与在数据库中存储纬度/经度并将其传递到Google地图的优势是什么?

假设上述所有情况都属实,如果我突然想要改变地图提供者(从谷歌到Bing,让我们说),GeoDjango是否会让这更容易,更模块化?

我在理解GeoDjango和地图服务之间的关系方面有点麻烦,如果有人可以通过一些例子为我澄清这一点,那就太棒了。

下一步:如果我在GeoDjango中有一个我希望集成的现有项目使用MySQL,我是否应该将所有内容移到PostgreSQL上,因为GeoDjango不能与MySQL一起使用?我应该怎么做数据库?

1 个答案:

答案 0 :(得分:8)

正如documentation所说:

  

GeoDjango是Django的附加组件,将其变成世界级的   地理Web框架。 GeoDjango努力使它变得如此简单   可以创建地理Web应用程序,例如基于位置的应用程序   服务。一些功能包括:

     
      
  • OGC几何的Django模型字段。
  •   
  • 扩展Django的ORM以查询和处理空间数据。
  •   
  • 用于GIS几何操作和数据格式的松散耦合的高级Python接口。
  •   
  • 编辑admin中的几何字段。
  •   

您可以通过Google Maps Javascript API轻松处理GeoDjango信息到Google地图。 GeoDjango的优点是处理几何类型信息的特殊工具。例如fields

这类
  • GeometryField
  • PointField
  • LineStringField
  • PolygonField
  • MultiPointField
  • MultiLineStringField
  • MultiPolygonField
  • GeometryCollectionField

spacial databasesgeospacial libraries进行基础级整合:

  • GEOS
  • PROJ.4
  • GDAL
  • GeoIP的
  • PostGIS的
  • SpatiaLite

如果您希望将来能够更改地图提供程序,建议使用前端(地图) - 后端(GeoDjango)架构。在这种情况下,您可以轻松更改前端或在不同地图之间切换。

我建议也迁移到postgres,因为它有各种工具,如GEOS,PROJ.4,PostGIS库,可用于处理空间数据。 MySQL的功能有限,如文档中所述。