MapSurfer — rest — objects

POST /layers/{layerId}/feature

Структура запроса:


POST /layers/145/feature?token=mbs90lon2a8

layerId: id слоя

token: ключ доступа

Пример запроса:

Формат: json


{
    "attributes": [{
        "name": "Атрибут",
        "value": "123456",
        "id": 4677
    }],
    "files": [{
        "uuid": "p19bmted386it1m9g1qf91h1n8jg7.doc",
        "name": "gloreg.doc"
    }],
    "geometry": {
        "type": "MultiPoint",
        "coordinates": [[64.3359375,
            60.58696734225869]]
    },
    "pages": [{
        "url": "http://www.url.com",
        "description": "Веб-страница",
        "size": {
            "width": 640,
            "height": 360
        }
    }],
    "photos": [{
        "uuid": "p19bmtd4911ef215h0fal1ugg124a5.jpg",
        "name": "Lighthouse.jpg"
    }]
}



// список атрибутов
// название атрибута, строка
// значение, строка
// id, целое число

// список файлов
// uuid загруженного файла, строка
// название файла, строка

// объект геометрии
// тип геометрии, строка
// координаты, массив


// веб-страницы
// адрес, строка
// описание, строка
// размер
// ширина, целое число
// высота, целое число


// список фотографий
// uuid загруженной фотографии, строка
// название фотографии, строка

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "insert": true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PUT /layers/{layerId}/feature/{featureId}

Структура запроса:


PUT /layers/154/feature/3?token=mbs90lon2a8

layerId: id слоя

featureId: id объекта

token: ключ доступа

Пример запроса:

Формат: json


{
    "addedFiles": ["1"],
    "addedPhotos": ["2"],
    "attributes": [{
        "name": "Attribute",
        "value": "12.52",
        "id": 15236
    }],
    "files": [{
        "uuid": "p19borhvav1kms1ks1vv62au1pfn7.xls",
        "name": "cars.xls"
    }],
    "geometry": {
        "type": "MultiPoint",
        "coordinates": [[48.768310546875,
            56.69244163539978]]
    },
    "pages": [{
        "url": "http://www.page.com",
        "objectId": 661,
        "description": "Описание страницы",
        "size": {
            "width": 640,
            "height": 360
        }
    }],
    "photos": [{
        "uuid": "p19borhjnvfm31nuaaja1dkfa335.png",
        "name": "add-object-line.png"
    }]
}



// список из идентификаторов ранее загруженных файлов
// список из идентификаторов ранее загруженных фотографий
// список атрибутов
// название атрибута, строка
// значение, строка
// id, целое число

// список файлов
// uuid файла, строка
// название файла, строка

// объект геометрии
// тип геометрии, строка
// координаты, массив


// список веб-страниц
// адрес страницы, строка
// id объекта, целое число
// описание страницы, строка
// размер
// ширина, целое число
// высота, целое число


// список фотографий
// uuid фотографии, строка
// название фотографии, строка

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "update": true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PATCH /layers/{layerId}/feature/{featureId}

Структура запроса:


PATCH /layers/154/feature/3?token=mbs90lon2a8

layerId: id слоя

featureId: id объекта

token: ключ доступа

Пример запроса:

Формат: json


{
    "photos": [{
        "uuid": "p19borhjnvfm31nuaaja1dkfa335.png",
        "name": "new_photo.png"
    }]
}



// список фотографий
// uuid фотографии, строка
// название фотографии, строка

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "addedFiles": ["1"],
    "addedPhotos": [],
    "attributes": [{
        "name": "Attribute",
        "value": "12.52",
        "id": 15236
    }],
    "files": [{
        "uuid": "p19borhvav1kms1ks1vv62au1pfn7.xls",
        "name": "cars.xls"
    }],
    "geometry": {
        "type": "MultiPoint",
        "coordinates": [[48.768310546875,
            56.69244163539978]]
    },
    "pages": [{
        "url": "http://www.page.com",
        "objectId": 661,
        "description": "Описание страницы",
        "size": {
            "width": 640,
            "height": 360
        }
    }],
    "photos": [{
        "uuid": "p19borhjnvfm31nuaaja1dkfa335.png",
        "name": "new_photo.png"
    }]
}



// список из идентификаторов ранее загруженных файлов
// список из идентификаторов ранее загруженных фотографий
// список атрибутов
// название атрибута, строка
// значение, строка
// id, целое число

// список файлов
// uuid файла, строка
// название файла, строка

// объект геометрии
// тип геометрии, строка
// координаты, массив


// список веб-страниц
// адрес страницы, строка
// id объекта, целое число
// описание страницы, строка
// размер
// ширина, целое число
// высота, целое число


// список фотографий
// uuid фотографии, строка
// название фотографии, строка

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

DELETE /layers/{layerId}/feature/{featureId}

Структура запроса:


DELETE /layers/154/feature/3?token=mbs90lon2a8

layerId: id слоя

featureId: id объекта

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "delete":true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /layers/feature

Структура запроса:


POST /layers/feature?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json


{
    "layersId": ["198","245","345"],
    "size": {
        "x": 1920,
        "y": 778
    },
    "extent": {
        "_southWest": {
            "lat": 55.488191455802244,
            "lng": 47.94158935546874
        },
        "_northEast": {
            "lat": 56.08889483995169,
            "lng": 50.57830810546875
        }
    },
    "point": {
        "x": 859,
        "y": 364
    }
}



// массив id слоев, где будет осуществляться поиск
// размер области видимости в пикселях, объект
// пикселей по оси x, целое число
// пикселей по оси y, целое число

// область видимости карты, объект
// координаты нижней левой точки на карте в градусах, объект
// широта нижней левой точки, число с плавающей точкой
// долгота нижней левой точки, число с плавающей точкой

// координаты верхней правой точки на карте в градусах, объект
// широта верхней правой точки, число с плавающей точкой
// долгота верхней правой точки, число с плавающей точкой


// точка центра области видимости в пикселях, объект
// координата х, целое число
// координата y, целое число

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "data": {
        "kziokzn:vamin_kioski_p_vw": {
            "features": [{
                    "fid": "141",
                    "zayavit": "ОАО Вамин Татарстан",
                    "syyinfo":"Есть",
                    "srnaimenovanie":"Ново-савиновский",
                    "geom":"",
                    "nomerdoma":"47",
                    "sunaimenovanie":"10летОктября[П, Ст.Победилово]",
                    "syinfo":"Есть",
                    "svinfo":"Существующий"
                }
            ],
            "layerId":198,
            "geomFieldName":null
        }
    }
}



// объект найденных данных
// английское название слоя, где найдены объекты
// массив объектов
// первичный ключ объекта, строка
// поля объекта и их значения









// id слоя
// поле геометрии либо null

Статус: 403 — нет доступа к слоям

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /layers/feature/bbox

Структура запроса:


POST /layers/feature/bbox?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json


{
    "layersId": ["198","234","23"],
    "srs": "EPSG:4326",
    "extent": {
        "_southWest": {
            "lng": 49.04296875,
            "lat": 55.754940702479146
        },
        "_northEast": {
            "lng": 49.299774169921875,
            "lat": 55.90457539720638
        }
    }
}



// массив id слоев, где будет осуществляться поиск
// проекция запроса, строка
// область поиска, объект
// координаты нижней левой точки области, объект
// широта нижней левой точки, число с плавающей точкой
// долгота нижней левой точки, число с плавающей точкой

// координаты верхней правой точки области, объект
// широта верхней правой точки, число с плавающей точкой
// долгота верхней правой точки, число с плавающей точкой

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "data": {
        "kziokzn:vamin_kioski_p_vw": {
            "features": [
                {
                    "fid": "141",
                    "zayavit": "ОАО Вамин Татарстан",
                    "syyinfo":"Есть",
                    "srnaimenovanie":"Ново-савиновский",
                    "geom":" ",
                    "nomerdoma":"47",
                    "sunaimenovanie":"10летОктября[П, Ст.Победилово]",
                    "syinfo":"Есть",
                    "svinfo":"Существующий"
                }
            ],
            "layerId":198,
            "geomFieldName":null
        }
    }
}



// объект найденных данных
// английское название слоя, где найдены объекты, строка
// массив объектов

// первичный ключ объекта, строка
// поля объекта и их значения









// id слоя, целое число
// поле геометрии, строка

Статус: 403 — нет доступа к слоям

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /layers/eis/{layerId}

Структура запроса:


GET /layers/eis/198?token=mbs90lon2a8

layerId: id слоя

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


[
    {
        "layerObjectId": 1,
        "files": [
            {
                "objectId": "1",
                "url": "/layers/eis/7392/1/photo/1",
                "fileName": "Chrysanthemum.jpg",
                "type": {
                    "id": 3,
                    "name": "photo"
                },
                "asUrl": false,
                "width": null,
                "height": null
            }
        ]
    }
]


// массив объектов с медиафайлами
// объект слоя
// id объекта слоя
// массив найденных прикрепленных файлов

// id файла
// путь к файлу
// название файла
// тип файла
// id типа,
// название типа, может быть photo, video, audio, file, page

// представлен ли файл как ссылка
// ширина окна, для страниц (type=page)
// высота окна, для страниц (type=page)

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /layers/eis/{layerId}/{objectId}

Структура запроса:


GET /layers/eis/198/141?token=mbs90lon2a8

layerId: id слоя

objectId: значение первичного ключа объекта

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "files": [
        {
            "url": "/layers/eis/198/141/photo/247",
            "fileName": "Чистопольская,47.JPG",
            "type": {
                "id": 3,
                "name": "photo"
            },
            "asUrl": false,
            "width": null,
            "height": null
        },
        {
            "url": "/layers/eis/198/141/file/247",
            "fileName": "Чистопольская,47.JPG",
            "type": {
                "id": 4,
                "name": "file"
            },
            "asUrl": false,
            "width": null,
            "height": null
        }
    ]
}



// массив найденных прикрепленных файлов

// путь к файлу
// название файла
// тип файла
// id типа,
// название типа, может быть photo, video, audio, file,page

// представлен ли файл как ссылка, булевое поле
// ширина окна, для страниц (type=page)
// высота окна, для страниц (type=page)


// адрес, строка
// название файла, строка
// тип, объект
// id типа, целое число
// название, строка

// представлен ли файл как ссылка, булевое поле
// ширина, целое число
// высота, целое число

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /layers/eis/{layerId}/{objectId}/photo/{photoId}

Структура запроса:


GET /layers/eis/198/141/photo/247?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

token: ключ доступа

Отображение прикрепленной фотографии с масштабированием по высоте

GET /layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}

Структура запроса:


GET /layers/eis/198/141/photo/247/100?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

height: высота для масштабирования

token: ключ доступа

Отображение прикрепленной фотографии с масштабированием по высоте и ширине

GET /layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}/{width}

Структура запроса:


GET /layers/eis/198/141/photo/247/100/150?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

height: высота для масштабирования

width: ширина для масштабирования

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: image/jpeg и т.д.

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

Отображение прикрепленного файла

GET /layers/eis/{layerId}/{objectId}/{fileType}/{fileId}

Структура запроса:


GET /layers/eis/198/141/file/247?token=mbs90lon2a8

layerId: id слоя

objectId: первичный ключ объекта

fileType: тип файла: photo, video, audio, file

fileId: первичный ключ файла

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: зависит от типа отдаваемого файла

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки