想知道GeoDjango和制图服务

aro*_*ooo 5 python database django google-maps geodjango

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

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

如果这是真的,那么使用GeoDjango与简单地在数据库中存储纬度/经度并将它们传递给谷歌地图有什么好处?

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

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

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

ram*_*sus 9

文档中所述:

GeoDjango是Django的附加组件,将其转变为世界级的地理Web框架.GeoDjango致力于尽可能简单地创建地理Web应用程序,例如基于位置的服务.一些功能包括:

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

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

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

空间数据库地理库的基本级集成:

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

如果你想在将来保持更改地图提供者的能力,建议使用前端(地图) - 后端(GeoDjango)架构.在这种情况下,您可以轻松更改前端或在不同地图之间切换.

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