Import Requirements
Import feature helps users to upload images and corresponding assets in a user-friendly module. Additionally, it is an important part of the rest of the product and acts as a logical starting point for all inspections.
Requirements for import
To do an import in the Grid Vision Inspect user needs the metadata for Assets and Images. The metadata for Assets is normally saved in an Asset Information file. Metadata for Images is normally embedded in the images. Otherwise, it should be stored in an Image Information file.
Requirements for images
- The images must be in jpg/jpeg format.
- The images must contain EXIF information, at least the GPS location where the image was taken and the date the image was taken.
- The images must be no more than 1000 m away from the nearest asset.
Asset information file
Holds reference information about the asset captured in the image. It contains Identifier, Name, GroupIdentifier, GroupType, Latitude, Longitude, AssetType, SourceSystem, and Height.
The format of the Asset information file should follow the below instruction:
- Supported file format: CSV, JSON
- Supported file separator: comma (,)
- Supported decimal separator in the file: period (.)
Field name | Definition | Supported names (first one is standard) | Field Value | Max Length | Required/Optional | Example |
---|---|---|---|---|---|---|
Identifier | A Unique Identifier (unique per source system) associated with the asset. The identifier is an external reference to the asset and not eSmarts internal asset id. | identifier | String | 256 | Required | 0001001 |
Name | The name of the asset, e.g. the structure name/number. | name | string | 256 | Optional | Pole 1 |
GroupIdentifier | A asset grouping key could be used for line name or number. | group identifier | string | 256 | Optional | Line1100 |
GroupType | The type of component the asset should be grouped at. Only "Line" is supported | group type, grouptype | string | Optional | Line | |
Latitude | Indicates the latitude of the item. The latitude is expressed as decimal degrees (-90 to 90). SRID: 4326 WGS 84 | latitude, lat (deg), lat(deg), lat | number | Required | 59.125832 | |
Longitude | Indicates the longitude of the item. The longitude is expressed as decimal degrees (-180 to 180). SRID: 4326 WGS 84 | longitude, lon (deg), lon (deg), lon | number | Required | 11.38942 | |
AssetType | The type of the asset as defined by eSmart. Only "PowerLineStructure" is supported | asset type, assettype | string | Required | PowerLineStructure | |
SourceSystem | Source system refers to the name of the system where the asset originates from. Used to guarantee uniqueness in case the customer imports data from several systems with overlapping identifiers. e.g. "Workorder" or "ERP" | source system, sourcesystem | string | 256 | Required | ERPSystem |
Height | Represents the height of the structure in meters. Measured from ground level. | height | number | Optional | 12.5 |
Example of CSV
Identifier,Name,GroupIdentifier,GroupType,Latitude,Longitude,AssetType,SourceSystem,Height
0001001,Pole 1,Line1100,Line,59.125832,11.38942,PowerLineStructure,ERPSystem,12.5
0001002,Pole 2,Line1100,Line,59.125834,11.38942,PowerLineStructure,ERPSystem,12.65
0001003,Pole 3,Line1100,Line,59.125836,11.38942,PowerLineStructure,ERPSystem,12.66
0001004,Pole 4,Line1100,Line,59.125838,11.38942,PowerLineStructure,ERPSystem,12.67
0001010,Pole 10,Line1101,Line,59.125868,11.38962,PowerLineStructure,ERPSystem,12.77
0001011,Pole 11,Line1101,Line,59.125888,11.38964,PowerLineStructure,ERPSystem,12.8
Identifier | Name | GroupIdentifier | GroupType | Latitude | Longitude | AssetType | SourceSystem | Height |
---|---|---|---|---|---|---|---|---|
0001001 | Pole 1 | Line1100 | Line | 59.125832 | 11.38942 | PowerLineStructure | ERPSystem | 12.5 |
0001002 | Pole 2 | Line1100 | Line | 59.125834 | 11.38942 | PowerLineStructure | ERPSystem | 12.65 |
Example of JSON
[
{
"assetType": "PowerLineStructure",
"groupIdentifier": "Line1100",
"groupType": "Line",
"height": 12.5,
"identifier": "0001001",
"latitude": 59.125832,
"longitude": 11.38942,
"name": "Pole 1",
"sourceSystem": "ERPSystem"
},
{
"assetType": "PowerLineStructure",
"groupIdentifier": "Line1100",
"groupType": "Line",
"height": 12.65,
"identifier": "0001002",
"latitude": 59.125834,
"longitude": 11.38942,
"name": "Pole 2",
"sourceSystem": "ERPSystem"
}
]
Missing required components
In order to check if an asset contains components that are required as part of regulatory requirements slightly different asset files should be created. Currently, there are two components to identify missing required components.
- Safety sign
- AntiClimbing Device
Note: for Missing required components the Asset file should be slightly different
Example of CSV
Identifier Name GroupIdentifier GroupType Latitude Longitude AssetType SourceSystem Height SafetySign.MinCount AntiClimbingDevice.MinCount
ID1 H-1 Line 60.7283977 11.1166493 PowerLineStructure Workorder 2 1
ID2 H-2 Line 60.7279055 11.1170625 PowerLineStructure Workorder 2 0
ID3 H-3 Line 60.7278896 11.117063 PowerLineStructure Workorder
0 1
ID4 H-4 Line 60.7271815 11.1175399 PowerLineStructure Workorder 2 1
Example of JSON
[
{
"identifier": "ID1",
"name": "H-1",
"groupIdentifier": null,
"groupType": "Line",
"latitude": 60.7283977,
"longitude": 11.1166493,
"assetType": "PowerLineStructure",
"sourceSystem": "Workorder",
"height": null,
"requirements": [
{
"key": "SafetySign",
"minCount": 2
},
{
"key": "AntiClimbingDevice",
"minCount": 1
}
]
},
{
"identifier": "ID2",
"groupIdentifier": null,
"groupType": "Line",
"latitude": 60.7279055,
"longitude": 11.1170625,
"assetType": "PowerLineStructure",
"sourceSystem": "Workorder",
"height": null,
"requirements": [
{
"key": "SafetySign",
"minCount": 2
}
]
},
{
"identifier": "ID3",
"name": "H-3",
"groupIdentifier": "",
"groupType": "Line",
"latitude": 60.7278896,
"longitude": 11.117063,
"assetType": "PowerLineStructure",
"sourceSystem": "Workorder",
"height": null,
"requirements": [
{
"key": "AntiClimbingDevice",
"minCount": 1
}
]
},
{
"identifier": "ID4",
"name": "H-4",
"groupType": Line,
"latitude": 60.7271815,
"longitude": 11.1175399,
"assetType": "PowerLineStructure",
"sourceSystem": "Workorder",
"height": null,
"requirements": [
{
"key": "AntiClimbingDevice",
"minCount": 1
},
{
"key": "SafetySign",
"minCount": 2
}
]
}
]
Image information file
Holds reference information of an image. It contains Filename, Latitude, Longitude, Altitude, CapturedAt, Yaw, Pitch, Roll, CameraTag, and AssetIdentifier.
An image information file should be used when the images do not contain information on latitude, longitude, and capture date. It can also be used when users know exactly which images belong to which assets. In that case, the asset identifier relevant to each image should be filled in.
The format of the Image information file should follow the below instruction:
- Supported file format: CSV, JSON
- Supported file separator: comma (,)
- Supported decimal separator in the file: period (.)
Field name | Definition | Supported names (first one is standard) | Field Value | Max Length | Required/Optional | Example |
---|---|---|---|---|---|---|
Filename | The file name is case-sensitive and must match the actual image filename. | filename, file name, image name, imagename, image | String | Limitation is only in operating system (Windows and MAC) -> 255 | Required | MISSION1001_2020_000001.jpg |
AssetIdentifier | The unique Identifier associated with the asset. The identifier is an external reference to the asset and not eSmarts internal asset id. | asset identifier, assetidentifier | string | 256 | Optional | 0001001 |
CapturedAt | The date and time when the image was captured (in UTC). The date should be in conformance with ISO_8601. Format: YYYY-MM-DDTHH:MM:SS.SSSSSSSZ Y: year M: month W : week D : day T : time designator that precedes the time components of the representation. H : hour M : minute S : second |
captured at, capturedat | datetime | Required if Exif-tag does not contain the Capture-date | 2020-02-26T08:48:44.7747628Z | |
Latitude | Indicates the latitude of the item. The latitude is expressed as decimal degrees (-90 to 90). SRID: 4326 WGS 84 | latitude, lat (deg), lat(deg), lat | number | Required if Exif-tag does not contain the value | 59.125832 | |
Longitude | Indicates the longitude of the item. The longitude is expressed as decimal degrees (-180 to 180). SRID: 4326 WGS 84 | longitude, lon (deg), lon (deg), lon | number | Required if Exif-tag does not contain the value | 11.38942 | |
Altitude | Indicates the altitude where the image is recorded. The reference unit meters. Measured from sea level. SRID: 4326 WGS 84 | altitude, alt (m), alt(m), alt | number | Optional | 1.53 | |
Yaw | The cardinal direction in which the image is captured. Measured in degrees (-180 to 180). 0 degrees indicates North | camera heading, cameraheading, yaw (deg), yaw(deg), yaw | number | Optional | 122.5 | |
Pitch | The camera's vertical angle (-90 to 90) at the capture time. | camera pitch, camerapitch, pitch (deg), pitch(deg), pitch | number | Optional | 10.2 | |
Roll | The camera's horizontal angle (-180 to 180) at the capture time. | camera roll, camera roll, roll (deg), roll (deg), roll | number | Optional | 2.5 | |
CameraTag | This is a free-text to be used for identifying the camera recording the image and will be used to make camera filters in Grid Vision. e.g. differentiating forward-facing or backward-facing cameras. | camera tag, cameratag | string | 36 | Optional | Thermal |
Example of CSV
Filename,AssetIdentifier,CapturedAt,Latitude,Longitude,Altitude,Yaw,Pitch,Roll,CameraTag
MISSION1001_2020_000001.jpg,0001001,2020-02-26T08:48:44.7747628Z,59.125832,11.38942,1.53,122.5,10.2,2.5,Thermal
MISSION1001_2020_000002.jpg,0001001,2020-02-26T08:48:44.7749421Z,59.125842,11.38943,1.53,50.8,10.2,2.5,Camera1
Filename | AssetIdentifier | CapturedAt | Latitude | Longitude | Altitude | Yaw | Pitch | Roll | CameraTag |
---|---|---|---|---|---|---|---|---|---|
MISSION1001_2020_000001.jpg | 0001001 | 2020-02-26T08:48:44.7747628Z | 59.125832 | 11.38942 | 1.53 | 122.5 | 10.2 | 2.5 | Thermal |
MISSION1001_2020_000002.jpg | 0001001 | 2020-02-26T08:48:44.7749421Z | 59.125842 | 11.38943 | 1.53 | 50.8 | 10.2 | 2.5 | Camera1 |
Example of JSON
[
{
"altitude": 1.53,
"assetIdentifier": "0001001",
"cameraTag": "Thermal",
"capturedAt": "2020-02-26T08:48:44.7747628Z",
"filename": "MISSION1001_2020_000001.jpg",
"latitude": 59.125832,
"longitude": 11.38942,
"pitch": 10.2,
"roll": 2.5,
"yaw": 122.5,
},
{
"altitude": 1.53,
"assetIdentifier": "0001001",
"cameraTag": "Camera1",
"capturedAt": "2020-02-26T08:48:44.7749421Z",
"filename": "MISSION1001_2020_000002.jpg",
"latitude": 59.125842,
"longitude": 11.38943,
"pitch": 10.2,
"roll": 2.5,
"yaw": 50.8,
}
]