===========================
Geospatial support for Odoo
===========================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:ccc6b633bb6d7c78f11f993250a7bce2558f109319df2fe24be9191b8df18ddb
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fgeospatial-lightgray.png?logo=github
    :target: https://github.com/OCA/geospatial/tree/12.0/base_geoengine
    :alt: OCA/geospatial
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/geospatial-12-0/geospatial-12-0-base_geoengine
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/geospatial&target_branch=12.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Geospatial support based on PostGIS add the ability of server to server
geojson to do geo CRUD and view definition.

**Table of contents**

.. contents::
   :local:

Installation
============


To install this module, you need to have `PostGIS <http://postgis.net/>`_ installed.

On Ubuntu::

  sudo apt-get install postgis

The module also requires two additional python libs:

* `Shapely <http://pypi.python.org/pypi/Shapely>`_

* `geojson <http://pypi.python.org/pypi/geojson>`_

for a complete documentation please refer to the `public documenation <http://oca.github.io/geospatial/index.html>`_

Usage
=====

Widget
======

The widget can be used on geometry fields::

  <record id="some_model_form_view" model="ir.ui.view">
    <field name="name">Some form view</field>
    <field name="model">some.model</field>
    <field name="arch" type="xml">
      <form>
      ...
        <field name="geom1" widget="geo_edit_map" options="{'add_layer_fields': ['geom2']}"/>
        <field name="geom2" invisible="1"/>
      ...
      </form>
    </field>
  </record>


Options can contain other geometry fields to display them on the same map
as a readonly layer.

Important changes in version 11
===============================

The geometry attributes must now be explicitly mentioned in the list of fields of
the XML geoengine view definitions. For instance::

  <record id="some_model_geo_view" model="ir.ui.view">
    <field name="name">Some data view</field>
    <field name="model">some.model</field>
    <field name="arch" type="xml">
      <geoengine>
        <field name="name" select="1"/>
        <field name="the_geom"/>
      </geoengine>
    </field>
  </record>

Known issues / Roadmap
======================

* Google layers have been removed as it was not working anyway.
* Switching from map to form view should be eased to open selected feature.
  It should work using `do_switch_view` and this probably requires to set `self.dataset.index`
* A good way to open a record from map should be done with double click.
  However selection handlers have difficulties to work nice with click events.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/geospatial/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/geospatial/issues/new?body=module:%20base_geoengine%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Camptocamp
* ACSONE SA/NV

Contributors
~~~~~~~~~~~~

* Nicolas Bessi <nicolas.bessi@camptocamp.com>
* Frederic Junod <frederic.junod@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Sandy Carter <sandy.carter@savoirfairelinux.com>
* Laurent Mignon <laurent.mignon@acsone.eu>
* Jonathan Nemry <jonathan.nemry@acsone.eu>
* David Lasley <dave@dlasley.net>
* Daniel Reis <dgreis@sapo.pt>
* Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
* Alan Ramos <alan.ramos@jarsa.com.mx>
* Damien Crier <damien.crier@camptocamp.com>
* Cyril Gaudin <cyril.gaudin@camptocamp.com>
* Pierre Verkest <pverkest@anybox.fr>
* Benjamin Willig <benjamin.willig@acsone.eu>
* Devendra Kavthekar <dkatodoo@gmail.com>
* Emanuel Cino <ecino@compassion.ch>
* Thomas Nowicki <thomas.nowicki@camptocamp.com>
* Alexandre Saunier <alexandre.saunier@camptocamp.com>
* Sandip Mangukiya <smangukiya@opensourceintegrators.com>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/geospatial <https://github.com/OCA/geospatial/tree/12.0/base_geoengine>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
