General Page
- Directly from the object, through the REST API, or the setValue method from the Maximo application framework.
- If Maximo Spatial is installed, this value can come from the ArcGIS service if the MBO is linked to a GIS feature.
- If the MBO is a Service Address, a WO Service Address, or a TK Service Address.
The GEOMETRY attribute from previous versions is replaced by a non persistent field of the same name, it is stored in a separate table.
The non-persistent field has the type CLOB, so it returns text.
The PLUSSGEOJSON field of Workorder, Asset, Locations, Ticket and Service Address Objects is not used in Maximo Application Suite v9.0. During the upgrade to Maximo Application Suite v9.0, the value from the PLUSSGEOJSON field is backed up to GEOJSONBACKUP object.
The GEOMETRY table
The Geometry object has the following attributes:
- OBJECTNAME - The Maximo object name related to this Geometry row. If the Maximo object is a view based on a parent object, the parent object name will be in this attribute.
- OBJECTID - The unique ID of the Maximo object related to this Geometry row.
- GEOMETRY - The geometry data in binary format. This is a geometry format internal to Maximo.
- GEOMETRYID - The unique ID of the Geometry row.
- OBJECTNAME - The Maximo object name related to this Geohash row. If the Maximo object is a view based on a parent object, the parent object name will be in this attribute.
- OBJECTID - The unique ID of the Maximo object related to this Geohash row.
- TYPE - The type of the Geohash, it can be POINT (for point geometries), GEOMETRY (for lines and polygons) and CENTER (for the center of Lines and Polygons).
- GEOHASH - The Geohash value in Integer format.
- GEOHASHID - The unique ID for the row.
After a Geometry value is modified, depending on the value of the "mxe.map.crontasks.geohash.rungeohashupdates" System Property, the following will happen:
- If the System Property value is true, the default value, a the MAPGEOHASH crontask is activated to update or create the Geohash value corresponding to the Geometry row. This crontask is schedules to run every 20 sconds. The crontask is automatically disabled when there are no geometry values without a related GEOHASH.
- If the System Property value is false: nothing happens.
The GEOJSONBACKUP table
The GEOJSONBACKUP table, which. contains a backup of PLUSSGEOJSON values, has the following description:
- OBJECTNAME - The Maximo object name related to this PLUSSGEOJSON row. If the Maximo object is a view based on a parent object, the parent object name will be used in this attribute.
- OBJECTID - The unique ID of the Maximo object related to this PLUSSGEOJSON row.
- PLUSSGEOJSON - The PLUSSGEOJSON data is stored in CLOB format.
Retrieving the GEOMETRY attribute of the MBO.
When you run the getString method or the GEOMETRY attribute, it returns the formatted Geometry string for the MBO. The geometry value is retrieved from the GEOMETRY table, and it is converted to the external format set in the GEOMETRYCONFIG table for that given MBO type. The options are WKT and GEOJSON formats.
The Autolocate Field
The Autolocate Field is a non-persistent field that returns the MBO position, based on the position of related MBOs.
The related MBOs hierarchy can be configured using the mxe.map.geometry.<mboname>.autolocateorder system property, for example: mxe.map.geometry.workorder.autolocateorder. The value of the system property must be a comma-separated list of MBOs that have been geometry configured.
The mxe.map.geometry.enableautolocate system property determines how the Autolocate field is calculated when retrieving the value using Maximo integration points, for example, the Maximo REST API. When the value is true, autolocate is calculated at query time, when it is false, the value returned will be the one of the GEOMETRY field values.
The Geometry data is moved to the GEOMETRY table. When the non-persistent GEOMETRY field is queried, updated, inserted or deleted, the operation is redirected to the GEOMETRY table.
In the GEOMETRY table, the geometry field is binary. On the original table, the new non-persistent field is CLOB. When Maximo reads the non-persistent fields GEOMETRY the binary data is converted to the external format defined.
Retrieving the GEOMETRY or AUTOLOCATE attributes in the Maximo REST API
If you use the Maximo REST API to retreive an MBO geometry using the GEOMETRY or AUTOLOCATE attributes in the SELECT clause, the formatted Geometry will be returned. The geometry value is retrieved and converted to the external format set in the GEOMETRYCONFIG table for that given MBO type. It is possible to override this configuration adding the query parameter geometryFormat in the query URL. The possible values are wet and geojson, for example: geometryFormat=geojson.
The bboxQuery parameter - REST API
When querying MBOs using the Maximo REST API, you can restrict the query to MBOs around a certain area using the bboxQuery parameter in the query. This will filter and return only MBOs inside or near the area. Some features outside but near the area might be returned, as filtering only MBOs exactly inside the area would have a worse performance. The bboxQuery parameter accetps an array of four points (minx, miny, maxx, maxy) definines an area, and the values must be in Longitude/Latitude coordinates, for example, bboxQuery=[-82.1,41.2,-83.5,42.58].\
Inserting/Updating Geometry attribute of the MBO
The GEOMETRY value can be set using the non-persistent GEOMETRY attribute of the MBO. The format of the GEOMETRY can be WKT or GEOJSON and there is no need to pass the geometry format. It works with both WKT and the GeoJSON geometry format. For example:
mbo.setString(“POINT (-23.5 -45.5)”);
mbo.setString("{\"coordinates\":[6.529388579793247E-4,2.080922436000822E-4],\"type\":\"Point\"}");
Inserting/Updating Geometry attribute using the Maximo REST API
The GEOMETRY value can be set using the non-persistent GEOMETRY attribute of the MBO. The format of the GEOMETRY can be WKT or GEOJSON. There is no need to set the GEOMETRY format, as Maximo interpets both types and internally values will be stored as binary.
Geometry Config
The names of Maximo objects that have configured Geometry fields, and the default external Geometry formats, can be found in the GEOMETRYCONFIG Maximo object.
When the CONFIGMAPGEOMETRY parameter is enabled for a user, they can access an action in the left-hand panel of the Map Manager application. When you click the action, you see a list of the GEOMETRYCONFIG MBOs that can be viewed and updated.
Maximo Spatial Sync Tool
The Maximo Spatial Sync tool updates Maximo and GIS objects according to the relationship and JSON mapping defined in Maximo. It is possible to use the tool to update the GEOMETRY value of a Maximo record. To update the Maximo GEOMETRY field with a value from GIS, the GEOMETRY field from Maximo needs to be configured to get the value from $.SYNC_TOOL_GEOMETRY in the JSON Mapping.
Link Sync Cron Task
The ArcGISLinkSyncCron Task is a crontask used to synchronize the geometry of linked GIS objects and the Maximo Records.
This synchronized geometry is displayed in Maximo Mobile and Maximo Application Framework applications. This is an alternative to sync the Geometry field using the ArcGISDataSync Cron Task.
Automation scripts
The following Automation Scripts are disabled by default, but can be used to update the GEOMETRY field of MBOs. These scripts start when MBOs are saved. The scripts will verify that Linked MBOs have updated Maximo Geometry information. If the information has not been updated, the Geometry value will be updated with the value from ArcGIS:
- SET_GEOMETRY_FIELD_ASSET
- SET_GEOMETRY_FIELD_WO
- SET_GEOMETRY_FIELD_LOCATION
- SET_GEOMETRY_FIELD_SR
- SET_GEOMETRY_FIELD_SA
These scripts were delivered in previous versions of Maximo Application Suite. If you want to use them in a Maximo Application Suite v9.0 environment, you must updated them.
Change:
binaryGeoJSON = GeometryUtils.convertFromGeoJSONToBinary(geometryData)
mbo.setValue("GEOMETRY", binaryGeoJSON
To:
mbo.setValue("GEOMETRY", geometryData)
UpdateSAGeometryCronTask
The UpdateSAGeometryCronTask task is used to retrieve the LongitudeX and LatitudeY fields value from Service Address MBOs, for example, Service Address, WO Service Address and Tk Service Address. It then converts that value to Longitude and Latitude coordinates, if needed, and then saves the value to the Geometry field.
This data improves the responsiveness of applications where the position of the Service Address is needed. To run this crontask, you need a Spatial Map Manager and a configured GeometryServer if the Service Address coordinates are not in Longitude and Latitude already.
If the Service Address position was set in Maximo Application Suite v9.0, Maximo Application Suite v8.11 or Maximo Application Suite v8.10, and the GeometryServer was configured at the time of the position set, the Geometry field will already be set and there is no need to run this crontask for those records.
The following parameters are available for this crontask:
- UPDATESAWITHOUTORG: If true, the records without an ORG will be processed. When the ORG is necessary it will use the SITEID related Org, and if it is null the Org of the user that is being used to run the Cron Task. If false records without ORG will not be processed.
- UPDATESAWITHOUTSITE: If true, the records without an SITEID will be processed. When the SITE is necessary it will use the default site of the user that is being used to run the Cron Task. If false records without SITEID will not be processed.
- SAWHERECLAUSE: A where clause to filter which ServiceAddress records will be processed.
- TKSAWHERECLAUSE: A where clause to filter which TKServiceAddress records will be processed.
- WOSAWHERECLAUSE: A where clause to filter which WOServiceAddress records will be processed.
- IGNOREERRORS: If true, it will continue to process the next record of the same type (ServiceAddress, WOServiceAddress or TKServiceAddress) after an error. If false it will go to the next Service Address type processing.
Was this topic helpful?
Document Information
Modified date:
28 June 2024
UID
ibm17159220