0

首先,设置:我在 Oracle10g 数据库中有一个带有空间列的表。我需要能够传入空间参考,以便可以将几何图形重新投影到任意坐标系中。最终,我需要将此投影的结果压缩为一个 zip 文件,并通过 Silverlight 项目使其可供下载。

我真的很感激关于实现这一目标的最佳方法的想法。在下面的示例中,SRID 是用于将几何点转换为新坐标系的空间参考 ID 整数。

特别是,我可以看到几种可能性。还有更多,但这是我的想法:

a) 将 SRID 传递给动态视图 --> 执行投影,输出光标 --> 将光标发送到 UTL_COMPRESS --> 将输出写入文件(以某种方式) --> 将 URL 发送到 Silverlight 应用程序

b) 使用 SRID 从 Silverlight 应用程序调用 Oracle 函数 --> 执行投影,输出字符串 --> 将字符串构建到文件中 --> 使用 .NET 中的 SharpZipLib 库压缩文件 --> 将字节流发送回 Silverlight 应用程序

我已经做了b)的前两步,100分的转换耗时7秒左右,慢得让人无法接受。我希望完全在 Oracle 中进行处理会更快。

如果有人可以看到任何一种方式的潜在问题,或者可以提出更好的方法,那将非常有帮助。

谢谢!

ETA:我打算在发布之前给它一个更好的标题。对不起。

4

1 回答 1

0

只是清理未回答的问题。这个问题涉及我需要制作的系统,Silverlight 应用程序的用户可以选择一组点(其中数千个)并将这些点重新投影到州平面坐标中。问题是数千点的转换太慢了,以至于用户等待时无法发生。所以我做了以下事情:

我将 SRID 从我的 Silverlight 应用程序传递到 Oracle 并创建一个转换请求。我有一个单独的工作来轮询请求表。当它找到一个时,它会转换请求中选择的所有点并将它们写入文件。文件完成后,服务会向请求中的地址发送一封电子邮件,其中包含下载文件所需的 URL。

于 2010-08-24T13:11:01.943 回答