Во-первых, установка: у меня есть таблица в базе данных Oracle10g с пространственными столбцами. Мне нужно иметь возможность передать пространственную привязку, чтобы я мог перепроектировать геометрию в произвольную систему координат. В конечном итоге мне нужно сжать результаты этой проекции в zip-файл и сделать его доступным для загрузки через проект Silverlight.
Я был бы очень признателен за идеи о том, как лучше всего это сделать. В приведенных ниже примерах SRID - это целое число идентификатора пространственной привязки, используемое для преобразования геометрических точек в новую систему координат.
В частности, я вижу пару возможностей. Есть еще много, но это идея того, как я думаю:
a) Передать SRID в динамическое представление -> выполнить проецирование, вывести курсор -> отправить курсор в UTL_COMPRESS -> записать вывод в файл (каким-либо образом) -> отправить URL-адрес в приложение Silverlight
б) Используйте SRID для вызова функции Oracle из приложения Silverlight -> выполнить проекцию, вывести строку -> построить строки в файл -> сжать файл с помощью библиотеки SharpZipLib в .NET -> отправить поток обратно обратно в Silverlight приложение
Я сделал первые два шага из пункта b), и преобразование 100 баллов заняло около 7 секунд, что недопустимо медленно. Я надеюсь, что в Oracle будет быстрее выполнять обработку полностью.
Если кто-то может увидеть потенциальные проблемы с любым из способов сделать это, или может предложить лучший способ, это было бы очень полезно.
Спасибо!
ETA: Я хотел дать этому лучшее название, прежде чем отправлять. К сожалению.