首先,设置:我在 Oracle10g 数据库中有一个带有空间列的表。我需要能够传入空间参考,以便可以将几何图形重新投影到任意坐标系中。最终,我需要将此投影的结果压缩为一个 zip 文件,并通过 Silverlight 项目使其可供下载。
我真的很感激关于实现这一目标的最佳方法的想法。在下面的示例中,SRID 是用于将几何点转换为新坐标系的空间参考 ID 整数。
特别是,我可以看到几种可能性。还有更多,但这是我的想法:
a) 将 SRID 传递给动态视图 --> 执行投影,输出光标 --> 将光标发送到 UTL_COMPRESS --> 将输出写入文件(以某种方式) --> 将 URL 发送到 Silverlight 应用程序
b) 使用 SRID 从 Silverlight 应用程序调用 Oracle 函数 --> 执行投影,输出字符串 --> 将字符串构建到文件中 --> 使用 .NET 中的 SharpZipLib 库压缩文件 --> 将字节流发送回 Silverlight 应用程序
我已经做了b)的前两步,100分的转换耗时7秒左右,慢得让人无法接受。我希望完全在 Oracle 中进行处理会更快。
如果有人可以看到任何一种方式的潜在问题,或者可以提出更好的方法,那将非常有帮助。
谢谢!
ETA:我打算在发布之前给它一个更好的标题。对不起。