Questions tagged «sql-server»

Microsoft SQL Server是Microsoft的关系数据库服务器产品。它的主要查询语言是T-SQL和ANSI SQL。

4
什么时候不应该使用空间索引?
我之所以这样问是因为我主要在Oracle上工作,但是在过去的一年中,我一直在使用PostGIS和SQLServer 2008翻倍。如果空间索引不返回ORA-13226错误,Oracle的大多数空间功能将无法工作: 13226,00000,“没有空间索引将不支持接口” // *原因:几何表没有空间索引。// *操作:验证在空间运算符中引用的几何表是否具有空间索引。 对我来说,这很有意义。您运行空间查询=您必须具有空间索引。但是据我了解,PostGIS和SQL Serve都不需要这样做。PostGIS甚至似乎具有明确不使用空间索引的功能(_ *,例如_STContains)。 所以问题是-在任何情况下都不应该使用空间索引?不一定是“采用还是放弃”方法,即不会有任何区别,但是不使用空间索引会降低性能吗?对我而言,最后一句话在用语上是矛盾的,但是为什么PostGIS会提供这些功能呢?

4
从x和y字段创建地理/几何列-SQL Server 2008
我是SQL Server 2008的新手,希望您能理解我的问题/需求。 因此,我有一个表,该表在我的数据库(空间)中包含3个字段(名称,纬度和经度)。我想基于这些字段(纬度和经度)创建一个几何/地理列,但是不幸的是没有成功。 我的问题是:我该怎么做?

9
选择用于存储空间数据的数据库?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 几天前,我将MapInfo的spaceware 4.9演示安装到了SQL Server 2005安装程序中,并将所有较大的数据集加载到了其中。与基于文件的旧方法相比,性能给我留下了深刻的印象,但是我却想知道还有哪些其他选择以及它们的优缺点。 我必须要说的是空间软件的弊端,因为它是$ 5000 p / a,只有MapInfo可以从中读取对象。目前这很好,因为我们只使用MapInfo。 我想知道其他人去了什么,他们的经历是什么。

4
是否可以使用SQL Server重新投影空间数据?
SQL Server在创建空间数据时会采用SRID,但是是否可以使用翻译坐标的其他SRID进行检索? 例如,假设我有一堆使用SRID 4258的空间多边形,但我想与SRID为4326的一些先前存在的数据一起使用-是否内置转换,或者我必须处理这个问题自己转换? PostGIS实现的SQL-MM方法是ST_Transform。如何在SQL Server中做到这一点?

3
在SQL Server 2008上的7000万点云上优化最近邻居查询
我在SQL Server 2008 R2 Express数据库中有大约7500万条记录。每个都是对应某个值的纬度。该表具有“地理位置”列。我正在尝试为给定的经度(点)找到一个最近的邻居。我已经有一个具有空间索引的查询。但是根据记录在数据库中的位置(例如第一季度或最后一个季度),查询可能需要3到30秒才能找到最近的邻居。我认为可以通过优化查询或空间索引来优化此方法,以得到更快的结果。现在,使用默认设置应用了一些空间索引。这是我的表和查询的样子。 CREATE TABLE lidar( [id] [bigint] IDENTITY(1,1) NOT NULL, [POINTID] [int] NOT NULL, [GRID_CODE] [numeric](17, 8) NULL, [geom] [geography] NULL, CONSTRAINT [PK_lidar_1] PRIMARY KEY CLUSTERED ([id] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) …

3
我如何从几何字段获取SRID
从几何字段获取SRID的功能是什么。 我已将一个shapefile插入定义了Geometry字段的SQL Server表中。我知道shapefile的投影为Swreff99_1800(EPSG:3011)。 现在我的问题是如何通过使用几何字段的某些OGC方法获得SRID:3011?

2
如何修复复杂的多边形,使其在Google地图中正确显示?
问题:我正在尝试找到一种方法来修复一些破碎的多边形形状,但不确定如何做到这一点。 详细资料: 我有很多多边形,基本上是从TIGERLINES不久前导入的。 我将它们转换为形状文件,然后将其导入Sql Server 2008。 在sql server 2008中,它们看起来很棒:)因此,这表明导入或多或少都起作用。这是洛杉矶市:- 但是,由于我的多边形有很多点,REDUCE因此在地图视图级别未放大时会显示它们。因此,以我为例,我现在尝试渲染缩小的洛杉矶:- 太棒了! 这是polys,是众所周知的文本格式。 MULTIPOLYGON (((-118.37033296865027 33.981437119998084, -118.37005887887605 33.981578692036159, -118.37034101004039 33.981636093563019, -118.37033296865027 33.981437119998084)), ((-118.66815694082851 34.181234948814819, -118.62915309690062 34.14689902389253, -118.56475201393673 34.130168028388276, -118.5992039806748 34.074336925351339, -118.57039497030522 34.069345957209549, -118.56968692628638 33.988811006799452, -118.55134001501617 33.982488918901176, -118.49446792996977 34.050559988837591, -118.44342601159182 34.016625025023124, -118.53748592914029 33.96667393391462, -118.49898897162241 33.916299091437473, -118.43732802504242 33.91651401198633, -118.4580839734636 33.961275936767734, -118.42944687485486 33.916317947202252, -118.4287748805515 …

5
使用带有SQL Server Spatial作为后端的ArcGIS Desktop?
我想知道如何最好地结合使用ArcGIS Desktop和SQL Server 2008。目前,我们在sql 2008和arcgis 10 shape文件之间运行手动导入和导出。对于具有地理数据类型的sql 2008,我期望可以很容易地用关系数据库替换地图文件,但是由于某些原因,它似乎并不像我期望的那么简单。 有谁知道如何使用sql 2008进行数据存储并删除shape文件?我已经读过关于arcsde的文章,但实际上不了解另一层的意义。不知道它实际上应该做什么。

1
sql server空间索引性能
我有一张桌子,上面有大约200万条记录。我使用边界框以外的默认值创建一个空间索引。我一直注意到,有些查询非常快,有些则非常慢。确定因素出现在查询中使用的多边形的大小。 在较大的搜索区域,使用WITH(INDEX(SIX_FT5))会大大降低查询速度(从0秒降低到15+秒)。在较小的搜索区域中,情况恰恰相反。 这是我正在测试的一些查询: 快速: SELECT TOP(1000) * FROM [FT5] WHERE (shape.STIntersects(geometry::STGeomFromText('POLYGON ((-133462.805381701 -668610.241000959, 2934415.68824241 -668610.241000959, 2934415.68824241 2200521.65831815, -133462.805381701 2200521.65831815, -133462.805381701 -668610.241000959))', 2264)) = 1) 慢: SELECT TOP(1000) * FROM [FT5] WITH(INDEX(SIX_FT5)) WHERE (shape.STIntersects(geometry::STGeomFromText('POLYGON ((-133462.805381701 -668610.241000959, 2934415.68824241 -668610.241000959, 2934415.68824241 2200521.65831815, -133462.805381701 2200521.65831815, -133462.805381701 -668610.241000959))', 2264)) = 1) 有人知道这是怎么回事吗?

8
如何从.Net应用程序使用SQL Server的空间类型?
对于即将进行的项目,要求之一是存储和使用基本的Geogrpahic数据作为现有SQL-Server / .Net应用程序的一部分。 显然我们可以使用SQL Spatial类型,但是,似乎没有任何方法(例如)从SQL查询的结果中读取它们,或保存更新的POI /多边形。 开发人员真的必须亲自在存储过程级别处理转换,还是有一种本地使用类型的方法?
14 .net  sql-server 


3
如何从SQL Server几何BLOB转换为其他东西?
我有来自第三方的CSV数据文件,该文件是导出的SQL Server表。他们只是做了一个,select * from foo然后将结果输出到一个文本文件,然后发送过来。 在他们的表中是Geometry类型的列,因此在我的原始文本中,我有类似“ 0xE610000010C47 ...”之类的信息。此刻,我已将其作为nvarchar加载到SQL Server的表中。 我期望自己最终可以返回到“几何”字段,但这似乎并不容易。 STGeomFromWKB不起作用,因为它实际上不是WKB。我不能将字符串转换为Geometry,因为它抱怨它不是WKT。 因此,有什么办法可以将这个值当作正常的几何BLOB传入SQL Server?我可以告诉SQL Server这样对待它吗? 我发现此链接至少可以帮助我回答有关SQL Server中内容的问题,但并不能完全理解: SQLServer 2008的Geometry数据类型的格式是什么?

4
使用pymssql将点插入SQL Server?
我正在通过python脚本从Web服务(Twitter)收集X和Y值。从长远来看,这将持续几个月,我打算停在600万点左右。 最初输入的坐标是WGS84地理信息,但我需要将其转换为预计的WGS Web Mercator。稍后,该表​​将发布到ArcGIS Server地图服务并进行缓存。 这是一个学习Python的私人项目,没有任何期限,并且想知道仅使用SQL Server 的本机空间类型是否是一个好主意? 我当前未经测试的计划: 使用SSMS创建带有GEOMETRY字段设置(和其他一些属性)的表 在我的python脚本中,利用arcpy或pyproj将WGS84中的纬度/经度转换为WGS84 Web Mercator(或者我可以以某种方式避免这种情况,以及使用SQL可以实现的所有方法吗?) 利用pymssql插入记录,然后将这些点插入表的GEOMETRY字段中。 我的问题是,在WGS84中采用一对经纬度,然后将其插入使用SQL Server空间类型的SQL Server表中,并在其中具有结果点层的一种好,简单且有效的方法是什么? WGS84 Web Mercator,以便可以在ArcGIS Desktop 10.1中渲染/查询它们? 我确实可以访问arcpy / ArcSDE 10.1,但希望以此作为不需要ArcSDE的示例。


2
需要ArcGIS Server编辑MS SQL Server数据库吗?
这是我所拥有的: ArcGIS Desktop Advanced(10.2)和MS SQL Server 2008 R2 这是我的问题: 我需要能够连接到ms sql服务器并导入,导出,创建和编辑空间数据。我可以连接到数据库并使用“要素类到地理数据库”工具将特征导出到数据库,但是一旦将数据带回到ArcMap会话中就无法编辑数据。我尝试使用高级桌面许可证附带的“创建企业级地理数据库”工具,但它会索要我没有的授权文件(假设用于ArcGIS for Server)。我已经查看了ArcGIS for Server的价格,这是不可行的选择。 是否可以使用当前拥有的许可证来实现我所需的替代方案? arcSDE在哪里适合?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.