TIP: You can type at any time to perform a new search.
Geospatial support for Odoo
base_geoengine · OCA/geospatial
- Repository
- OCA/geospatial · module folder · Try on Runboat
- Module version
- 1.2.0
- Category
- GeoBI
- Folder size
- 5.71 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/geospatial
- Last tracking update
- 2026-08-07 08:42:57
- Authors
- Camptocamp, ACSONE SA/NV, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, ACSONE SA/NV, Odoo Community Association (OCA)
- Committers
- Christopher Ormaza, Weblate, Dmytro Katyukha, OCA-git-bot, oca-ci, anusrinps96
- Odoo dependencies
- Python dependencies
- geojson, shapely
- System dependencies
- None
- Required by
- fieldservice_geoengine
- Description
GeoEngine is an Odoo module that adds spatial/GIS capabilites to Odoo. It will allow you to : - Visualize and query your business information on map - Perform GeoBI and spatial query - Configure your spatial layers and spatial datasources - Extend Odoo models with spatial columns GeoEngine relies on [OpenLayers](http://openlayers.org) and [PostgGIS](http://postgis.refractions.net/) technologies. Postgis is used to store spatial information in databases. OpenLayer is used to represent spatial data in other words to show maps and the different spatial layers. The GeoEngine module acts as a data provider and as an OpenLayers configurator. It also provides a complete extension to Odoo ORM.
Code Analysis ⓘ
Views touched (7)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
geo_raster_view_form |
geoengine.raster.layer.form | geoengine.raster.layer | form | New |
geo_raster_view_tree |
geoengine.raster.layer.tree | geoengine.raster.layer | list | New |
geo_vector_geoengine_view_form |
geoengine.vector.layer.geoengine.form | geoengine.vector.layer | form | New |
geo_vector_view_form |
geoengine.vector.layer.form | geoengine.vector.layer | form | New |
geo_vector_view_tree |
geoengine.vector.layer.tree | geoengine.vector.layer | list | New |
geoengine_view_form |
geoengine.view.form | ir.ui.view | form | Inherits base.view_view_form |
view_model_fields_form_geo |
ir.model.fields.form.geo | ir.model.fields | form | Inherits base.view_model_fields_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (6)
New fields (0)
No new fields.
Public methods (5)-
fields_get(self, allfields=None, attributes=None)@api.modelAdd geo_type definition for geo fields -
geo_search(self, domain=None, geo_domain=None, offset=0, limit=None, order=None)@api.modelPerform a geo search it allows direct domain: geo_search( domain=[('name', 'ilike', 'toto']), geo_domain=[('the_point', 'geo_intersect', myshaply_obj or mywkt or mygeojson)]) We can also support indirect geo_domain ( ‘geom’, ‘geo_operator’, {‘res.zip.poly’: [‘id’, ‘in’, [1,2,3]] }) The supported operators are : * geo_greater * geo_lesser * geo_equal * geo_touch * geo_within * geo_contains * geo_intersect -
get_edit_info_for_geo_column(self, column)@api.model -
get_geoengine_layers(self, view_id=None, view_type='geoengine', **options)@api.model -
set_field_real_name(self, in_tuple)@api.model
New fields (25)
-
dimensionsCharhelp="List of dimensions separated by ','" -
field_idMany2one → ir.model.fieldsdomain=[('ttype', 'ilike', 'geo_'), ('model', '=', 'view_id.model')] args: 'ir.model.fields', 'Odoo layer field to use' -
format_suffixCharhelp='eg. png' args: 'Format' -
has_typeBooleancompute='_compute_has_type' -
is_wmsBooleancompute='_compute_is_wms' -
is_wmtsBooleancompute='_compute_is_wmts' -
matrix_setCharargs: 'Matrix set' -
max_extentCharargs: 'Max extent' -
nameCharrequired=Truetranslate=True args: 'Layer Name' -
opacityFloatdefault=1.0 -
overlayBooleanargs: 'Is overlay layer?' -
paramsCharhelp='Dictiorary of values for dimensions as JSON' -
params_wmsCharhelp='Need to provide at least a LAYERS param' args: 'Params WMS' -
projectionCharhelp='eg. EPSG:21781' -
raster_typeSelectiondefault='osm'required=Truestring='Raster layer type' args: [('osm', 'OpenStreetMap'), ('wmts', 'WMTS'), ('d_wms', 'Distant WMS'), ('odoo', 'Odoo field')] -
request_encodingCharhelp='eg. REST' args: 'Request encoding' -
resolutionsChar -
sequenceIntegerdefault=6 args: 'Layer priority' -
server_typeCharhelp='The type of the remote WMS server: mapserver, geoserver, carmentaserver, or qgis' -
typeCharrelated='type_id.code' -
type_idMany2one → geoengine.raster.layer.typedomain="[('service', '=', raster_type)]" args: 'geoengine.raster.layer.type', 'Layer' -
unitsCharhelp='eg. m' -
urlCharargs: 'Service URL' -
use_to_editBooleanargs: 'Use to edit' -
view_idMany2one → ir.ui.viewdomain=[('type', '=', 'geoengine')]required=True args: 'ir.ui.view', 'Related View'
No public methods.
New fields (3)
-
codeCharrequired=True -
nameCharrequired=Truetranslate=True -
serviceCharrequired=True
No public methods.
New fields (20)
-
active_on_startupBooleanhelp='Layer will be shown on startup if checked.' -
attribute_field_idMany2one → ir.model.fieldsargs: 'ir.model.fields', 'Attribute field' -
attribute_field_id_domainBinarycompute='_compute_attribute_field_id_domain'readonly=Truestore=False -
begin_colorCharhelp='hex value'required=False args: 'Begin color class' -
classificationSelectionrequired=Falsestring='Classification mode' args: [('unique', 'Unique value'), ('interval', 'Interval'), ('quantile', 'Quantile'), ('custom', 'Custom')] -
display_polygon_labelsBooleanargs: 'Display Labels on Polygon' -
end_colorChardefault='#FF680A'help='hex value'required=False args: 'End color class' -
geo_field_idMany2one → ir.model.fieldsdomain=[('ttype', 'ilike', 'geo_')]ondelete='cascade'required=True args: 'ir.model.fields', 'Geo field' -
geo_reprSelectionrequired=Truestring='Representation mode' args: [('basic', 'Basic'), ('proportion', 'Proportional Symbol'), ('colored', 'Colored range/Chroma.js')] -
layer_opacityFloatdefault=1.0 -
layer_transparentBoolean -
model_domainChardefault='[]' -
model_idMany2one → ir.modelcompute='_compute_model_id'readonly=Falsestore=True args: 'ir.model', 'Model to use' -
model_nameCharreadonly=Truerelated='model_id.model' -
model_view_idMany2one → ir.ui.viewcompute='_compute_model_view_id'domain=[('type', '=', 'geoengine')]readonly=False args: 'ir.ui.view', 'Model view' -
nameCharrequired=Truetranslate=True args: 'Layer Name' -
nb_classIntegerdefault=1 args: 'Number of class' -
readonlyBooleanargs: 'Layer is read only' -
sequenceIntegerdefault=6 args: 'Layer Priority' -
view_idMany2one → ir.ui.viewdomain=[('type', '=', 'geoengine')]required=True args: 'ir.ui.view', 'Related View'
No public methods.
New fields (5)
-
dimSelectiondefault='2'string='PostGIs Dimension' args: [('2', '2'), ('3', '3'), ('4', '4')] -
geo_typeSelectionstring='PostGIs type' args: POSTGIS_GEO_TYPES -
gist_indexBooleanargs: 'Create gist index' -
sridIntegerrequired=False args: 'srid' -
ttypeSelectionondelete=GEO_TYPES_ONDELETEselection_add=GEO_TYPES
No public methods.
New fields (7)
-
default_extentChardefault='-123164.85222423, 5574694.9538936, 1578017.6490538, 6186191.1800898' args: 'Default map extent' -
default_zoomIntegerargs: 'Default map zoom' -
projectionChardefault='EPSG:3857'required=True -
raster_layer_idsOne2many → geoengine.raster.layerrequired=False args: 'geoengine.raster.layer', 'view_id', 'Raster layers' -
restricted_extentCharargs: 'Restricted map extent' -
typeSelectionondelete={'geoengine': 'cascade'}selection_add=[('geoengine', 'GeoEngine')] -
vector_layer_idsOne2many → geoengine.vector.layerrequired=True args: 'geoengine.vector.layer', 'view_id', 'Vector layers'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 54 days ago
- Last activity
- 12 days ago
- Repository
- OCA/geospatial
- Pull request
- [19.0][MIG] base_geoengine: consolidated migration (#465)
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 320 days ago
- Last activity
- 55 days ago
- Repository
- OCA/geospatial
- Pull request
- [MIG] base_geoengine: Migrated to 19.0 (#414)