Skip to content

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.

  1. Safety sign
  2. 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, 
    }
]