Подавать NetCDF через WCS Protiocol с Python и MapserverPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подавать NetCDF через WCS Protiocol с Python и Mapserver

Сообщение Anonymous »

Я хотел бы обслуживать ресурс NetCDF через WCS с использованием привязки MapServer Python.
I позаимствовал карту файла MapServer Test Suite wcs_netcdf_input_output.map
, для которого я адаптировал wcs_onlinersource < /code>, чтобы указать на мой api endpoint "https: // myDomain/get_wcs/test/wcs"
Мой API основан на FastAPI, а метод get_wcs выглядит так:

Код: Выделить всё

@router.get('/get_wcs/{data_id}/wcs', response_class=Response)
async def get_wcs(data_id: str, full_request: Request):
print('hoi!')
map = mapscript.mapObj('/app/data/nc.map')
print(map)
ows_req = mapscript.OWSRequest()
ows_req.setParameter('service', 'wcs')
ows_req.setParameter('version', '2.0.0')
ows_req.setParameter('request', 'getcoverage')
ows_req.setParameter('coverageid', 'precipitation')
ows_req.setParameter('format', 'netCDF')

ows_req.type = mapscript.MS_GET_REQUEST
print(ows_req)
format = map.getOutputFormatByName("netCDF")
print(format)
mapscript.msIO_installStdoutToBuffer()
dispatch_status = map.OWSDispatch(ows_req)
result = mapscript.msIO_getStdoutBufferBytes()
print(result)
content_type = mapscript.msIO_stripStdoutBufferContentType()
print(content_type)
#print('so far no errors')
#pass
ows_req.setParameter("REQUEST", "GetCapabilities")
mapscript.msIO_installStdoutToBuffer()
dispatch_status = map.OWSDispatch(ows_req)
if dispatch_status != mapscript.MS_SUCCESS:
if os.getenv('DEBUG') == '1':
logging.debug(f"DISPATCH status: {dispatch_status}")
mapscript.msIO_stripStdoutBufferContentHeaders()
_result = mapscript.msIO_getStdoutBufferBytes()
content_type = 'text/xml'
dom = xml.dom.minidom.parseString(_result)
result_xml = dom.toprettyxml(indent="", newl="")
return Response(result_xml, media_type=content_type)
Результат объект, кажется, какой -то двоичный поток (который, я думаю, правильно), но на данный момент я потерялся, так как я не знаю, что вернуть и как обрабатывать правильный запрос. Qgis (это выглядит следующим образом): < /p>

Код: Выделить всё

    


First Test Service
Test Abstract

keyword
list

OGC WCS
2.0.1
1.1.1
1.0.0
http://www.opengis.net/spec/WCS/2.0/conf/core
http://www.opengis.net/spec/WCS_protocol-binding_get-kvp/1.0/conf/get-kvp
http://www.opengis.net/spec/WCS_protocol-binding_post-xml/1.0/conf/post-xml
http://www.opengis.net/spec/GMLCOV/1.0/conf/gml-coverage
http://www.opengis.net/spec/GMLCOV/1.0/conf/multipart
http://www.opengis.net/spec/GMLCOV/1.0/conf/special-format
http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/conf/geotiff-coverage
http://www.opengis.net/spec/WCS_service-extension_crs/1.0/conf/crs
http://www.opengis.net/spec/WCS_service-extension_scaling/1.0/conf/scaling
http://www.opengis.net/spec/WCS_service-extension_range-subsetting/1.0/conf/record-subsetting
http://www.opengis.net/spec/WCS_service-extension_interpolation/1.0/conf/interpolation
NONE
NONE


OSGeo


Name FamilyName
Software Developer


(000) 000-0000
(000) 000-00000000


000 Xoxox Rd
City
Province
xxx xxx
World
epi@epi.com


0800h - 1600h EST
during hours of service

staff










XML













XML













XML








application/x-netCDF


NEAREST
AVERAGE
BILINEAR


http://www.opengis.net/def/crs/EPSG/0/4326





precipitation
RectifiedGridCoverage




Моя цель - загрузить такой слой (осадки) в QGIS и иметь возможность визуализировать/запрашивать данные подчиненных. Тестовый набор данных был также заимствован из набора тестов MapServer.
Спасибо за любой совет!

Подробнее здесь: https://stackoverflow.com/questions/795 ... -mapserver
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • WCS Как получить объект подписки Woocommerce с учетом идентификатора подписки
    Anonymous » » в форуме Php
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • Упаковывать несколько подготовительных файлов с различными WCS в 3D -массив
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Ошибка внутреннего сервера для _zkiju-silvertail/Zul/css/zk.wcs в ZK Project
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Ошибка внутреннего сервера для _zkiju-silvertail/Zul/css/zk.wcs в ZK Project
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Ошибка внутреннего сервера для _zkiju-silvertail/Zul/css/zk.wcs в ZK Project
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»