很抱歉,在我提出问题之前进行了很长的介绍,但是我看到它以某种方式回答了几次,但由于缺乏竞争,对我没有帮助。对于那些愿意读到最后并尝试帮助我的人,我深表感谢。在这里...
我在巴西一家配电公司的数据库部门工作,该公司使用基于Datum SAD69的统一UTM区域23S和24S创建的自定义Datum。
我使用SQL Server 2012(SQL Server Specifications)和ArcMap 10.4.01(ArcGIS Specifications)来管理一个隔离的GIS(不知道我是否在这里明确表示自己,但是我的意思是我是此类的DBA数据库,没有其他人可以访问它)构成了从Oracle 11g在线数据库检索的数据,并且我的数据库每天中午通过ArcMap进行更新,ArcMap连接到两个数据库并充当两者之间的桥梁。
这里:我从Oracle DB将数据导入到ArcGIS中时,它可以毫无问题地识别出自定义基准面,因为我已经将该自定义坐标系导入了ArcGIS。但是,当我将这些数据传输到SQL Server时,它将丢失空间参考。结果,当我尝试在ArcMap中从SQL Server投影空间数据时,却没有,我必须手动设置它,这是一个问题,因为我每天都要进行数十次操作,包括通过脚本执行一些自动化程序去做。但是,当我从SQL Server导入空间数据时(使用SIRGAS2000这样的空间空间参考),它可以毫无问题地进行识别。
我无法通过ArcGIS编辑存储在SQL Server中的数据,因为我没有ArcServer许可证。因此,我无法使用/创建Interprise地理数据库,这是我认为可以克服这种情况的一种方式。
到目前为止,我想到解决此问题的唯一方法是在SQL Server中插入新的空间引用。 我知道SQL Server中的SRID实际上是无用的,因为它不支持转换,但是只有当我单独使用SQL Server时,情况才如此。在这种情况下,由于我使用多个平台,因此变得非常重要。
因此,是否有办法将新的空间参考和SRID插入SQL Server?如果没有,谁能为我的问题想到另一种解决方案?
随时问我可能遗漏的任何东西,并预先感谢!!
您确定sys.spatial_reference_systems
表中没有所需的空间参考系统和SRID吗?
基于基准SAD69的UTM区域23S和24S
不是基于自定义基准,它们是众所周知的标准化SRS,带有相应的EPSG代码,
EPSG:29193 SAD69 / UTM区域23S
EPSG:29194 SAD69 / UTM区域24S
[空间参考识别系统由欧洲定义石油调查组(EPSG)标准,它是一组标准专为制图,测量和大地数据存储而开发。这个该标准归油气生产商(OGP)拥有定位委员会。
https://www.google.com/search?client=firefox-b-d&q=list+of+SRID+supported+by+sql+server
由于您没有提到EPSG代码,并且SQL Server使用它们作为SRID,因此可以尝试使用它们。只是不要将它们混合在同一张表中(您必须按UTM区域分隔地理数据)
或者,您可以使用SQL Geography type存储数据,在这种情况下,将对SAD69使用EPSG代码,即5527
Projection: longlat
EPSG code: 5527
PROJ string: '+proj=longlat +ellps=aust_SA +towgs84=-67.35,3.88,-38.22'
...假设您从1995年开始使用SAD69(SAD69是1995年的一部分)。