Запуск функций GDAL/OGR с сервера при событии клиента onclick

Этот вопрос возник из-за моего плохого понимания того, как GDAL/OGR должен работать на стороне сервера, но прежде чем попробовать, я хотел бы узнать, возможно ли то, что я хочу, с этой библиотекой.

По сути, я разрабатываю приложение webGIS, где пользователь должен взаимодействовать с WFS. Я хотел бы дать пользователю возможность загружать данные из этой WFS в формате, который сервер не предоставляет в качестве выходных данных, поэтому мне нужно сначала преобразовать их.

Мне нужна функция ogr2ogr с драйвером WFS, чтобы можно было конвертировать ответ GML сервера в (например) формат Shapefile.

Мой очень простой вопрос: как я могу вызвать ogr2ogr, который установлен на моем сервере, когда пользователь нажимает (например) кнопку "Загрузить"?

Моя идея заключается в том, чтобы связать событие onclick с JS-функцией, которая вызывает ogr2ogr, но здесь мое отсутствие знаний в области веб-разработки на стороне сервера не дает мне продолжения.

Должен ли я подготовить скрипт (например, PHP), который внутренне вызывает ogr2ogr, или я должен поместить исполняемые файлы GDAL/OGR в папку cgi-bin, чтобы я мог указывать и вызывать их с необходимыми параметрами?

1 ответ

Я бы посоветовал исследовать ваш сервер-промежуточное ПО по выбору; есть отличный шанс, что он уже поддерживает OGR2OGR, если он с открытым исходным кодом. Большие два:

GeoServer имеет расширение ogr, которое может делать то, что вы хотите - https://docs.geoserver.org/stable/en/user/extensions/ogr.html

MapServer также поддерживает OGR - https://mapserver.gis.umn.edu/output/ogr_output.html

В качестве альтернативы, вы можете рассмотреть возможность изучения стандарта WPS, но, вероятно, это слишком излишне, если вы просто меняете форматы.

Другие вопросы по тегам