Edit Landmark
editLandmark
This web service allows changes to a landmark's primary details. Note that:
- Changing a landmark's location causes the system to automatically determine inventory counts for the landmark. Arrival and/or departure notifications will not be sent for any assets that are determined to be at or no longer at the landmark.
- The landmark's geographic location and boundary may be updated in one of several ways as indicated by the defineBoundaryUsing parameter described below.
Regardless of which method that is used, the result will always be that the system understands the landmark in terms of its polygonal boundary (even if it is auto-adjusted). See table below.
void editLandmark(string companyId, string landmarkName, string landmarkAlias, string defineBoundaryUsing, Landmark landmark) throws WSException
- companyId: (optional) A string, maximum length 10, specifying the unique company identifier of the landmark.
NOTE: If no companyId is specified, the company of the authorized user making the call will be used. - landmarkName: (optional) A string, maximum length 25, specifying the unique name of the landmark whose details are to be retreived.
- landmarkAlias: (optional) A string, maximum length 25, specifying the unique alias of the landmark whose details are to be retreived. This parameter is ignored if a landmarkName is specified.
-
defineBoundaryUsing: (optional) A single character specifying if/how the system should modify the landmark's geographical location and/or boundaries. Valid values are:
Value
Set Location By:
Additional Info
A
Address and Radius
If set to 'A', the system will require the address and radius to be supplied. (The circle centroid lat/lon and polygon vertices are ignored even if they are supplied.)
This method is useful to integrators that have neither lat/lons nor polygonal boundaries for their landmarks. In this case, the street address is geocoded into lat/long coordinates which are used to set the circle centroid. And then a default polygonal boundary (a hexagon) is auto-created to fit precisely within the area of the specified radius.
Note that a valid range for the radius is .01 thru 5000. Specifying a 0 radius will cause the landmark to inherit the default radius for that landmark type.C
Circle Centroid Lat/Long and Radius
If set to 'C', the system will require the circle centroid lat/lon and radius to be supplied. (The polygonal vertices are ignored even if they are supplied.)
This method is useful to integrators that simply have a lat/lon location for their landmarks but not their polygonal boundaries. In this case, a default polygonal boundary (a hexagon) is auto-created to fit precisely within the area of the specified radius.
Note that a valid range for the radius is .01 thru 5000. Specifying a 0 radius will cause the landmark to inherit the default radius for that landmark type.V
Polygon Vertices
If set to 'V', the system will require the polygon vertices to be supplied. (The circle centroid lat/lon and radius are ignored even if they are supplied.)
This method is useful to integrators that have polygonal boundaries for their landmarks. In this case, the specified vertices are used to establish the landmark's boundary. Then, its circle centroid lat/lon and associated radius are auto-created by creating the smallest circle possible that completely surrounds the polygon.null or blank
Do not change
The landmark's location and its polygonal boundaries will remain unchanged.
- landmark: A Landmark object with the details for editing the landmark.
- Any string fields that should not be changed must be set to null otherwise they will be set to a blank value.
- Any numerical fields that should not be changed must be set to 0.
- When modifying either state or country both values must be passed in.
- When modifying the lat/long of a place both values must be passed in.
- The following fields in the Landmark object cannot be modified using this web service:
createTime
createUser
lastModTime
lastModUser
polygon - centroidLat
polygon - centroidLong
aliases[] - can be modified using the Add Landmark Alias/Remove Landmark Alias web services
attributes[] - can be modified using the Edit Landmark Attributes web service
assocLandmarkNames[] - at the present time, settable only via the Services Portal UI
assocPrimaryLandmarkName - at the present time, settable only via the Services Portal UI
Authorization Requirements
The credentials supplied with this method call (as specified in the accompanying WS-Security header) must be authorized to the following application(s) and their associated role-based permissions.
Required Application Licenses
- Remote Integration
Required User Permissions
- Can use GeoServices
- Can maintain landmarks
Customer integrators are authorized to their own company's data only.
Sample XML Request
Only the SOAP body is shown. To see a sample SOAP Envelope and Header, click here.
|
Sample XML Response
|
Exceptions
001 Unknown Error.
003 Company not authorized for integration.
004 User not authorized.
005 User cannot edit landmark for specified company.
006 Address city is invalid.
007 Address state/country is invalid.
008 Address postal code is invalid.
009 Address street is invalid.
010 Cannot geocode address to a valid latitude/longitude.
011 Circle centroid latitude/longitude are invalid.
012 Ciricle radius is invalid.
013 Division ID is invalid.
014 Name is invalid.
015 Pre-arrival radius is invalid.
016 Type ID is invalid.
017 Polygon vertices are invalid.
018 DefineBoundaryUsing is invalid.
019 Cannot change the division of an associated landmark.
020 Landmark name or alias must be specified.
021 Landmark cannot be found with specified information.