Giter Site home page Giter Site logo

django-geonames's Introduction

django-geonames

Do you need geographic data in your project? For a single country or for the entire world? Django GeoNames is an attempt to make it easy to port the free available GeoNames database to your django project.

What is geonames?

Don't know GeoNames? The GeoNames geographical database covers all countries and contains over eight million placenames that are available for download free of charge under cc-by license. They offer great geo webservices such as a geo search API. Their daily database dump is what we are using to synchronize with.

What to expect

In my experience geo data in a web application always requires customization. To encourage this django-geonames does not provide a out-of-the-box installation. You are always required to setup your own 'geo' app allowing maximum flexibility. So, if it doesn't work out of the box, what does the package has to offer?

  • A set of fully prepared abstract models for you to extend in a matter of minutes
  • A clever synchronization command
  • Great documentation on how to create your own customized geo app

Design philosophy

  • The abstract models must be light using as little indexes as possible to support large datasets

  • The package is not dependant on other third-party packages

  • The user has to be able to extend/adapt the package to its own needs including

    • Adding indexes
    • Adding spatial functionality
    • Customize the import behaviour using hooks
  • We want to have great documentation including

    • Quick start guide
    • Examples for the most common customizations
    • An example app in the repositry showing the most common customizations
  • A fully prepared port (=adaptation) of the geonames datamodel to a Django environment

  • Easy to use synchronization with geonames data sources using management commands

  • Greatly customizable filter options to keep your local database as small as possible

  • Very customizable using 'synchronization hooks' and a local 'geo app'

  • Fast implementation using our abstract models

What not to expect

  • Out of the box geo functionality
  • Spatial querying (use django-cities instead)

django-geonames's People

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.