Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Упрощает задание значений параметров ограничивающего прямоугольника и сетки для пространственного индекса.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии). |
Синтаксис
sp_help_spatial_geometry_histogram [ @tabname =] 'tabname'
[ , [ @colname = ] 'columnname' ]
[ , [ @resolution = ] 'resolution' ]
[ , [ @xmin = ] 'minx' ]
[ , [ @ymin = ] 'miny' ]
[ ,.[ @xmax = ] 'maxx' ]
[ , [ @ymax = ] 'maxy' ]
[ , [ @sample = ] 'sample' ]
Аргументы
[ @tabname =] 'tabname'
Полное или неполное имя определенной таблицы, для которой был указан пространственный индекс.Кавычки требуются, только если определяется уточненная таблица. Если предоставлено полное имя таблицы, включая имя базы данных, в качестве последнего должно использоваться имя текущей базы данных. Аргумент tabname имеет тип sysname и не имеет значения по умолчанию.
[ @colname = ] 'colname'
Имя указанного пространственного столбца. Аргумент colname имеет тип sysname и не имеет значения по умолчанию.[ @resolution = ] 'resolution'
Разрешение ограничивающего прямоугольника. Допустимы значения в диапазоне от 10 до 5 000. Аргумент resolution имеет тип tinyint и не имеет значения по умолчанию.[ @xmin = ] 'xmin'
Минимальная координата по оси X для ограничивающего прямоугольника. Аргумент xmin имеет тип float и не имеет значения по умолчанию.[ @ymin = ] 'ymin'
Минимальная координата по оси Y для ограничивающего прямоугольника. Аргумент ymin имеет тип float и не имеет значения по умолчанию.[ @xmax = ] 'xmax'
Максимальная координата по оси X для ограничивающего прямоугольника. Аргумент xmax имеет тип float и не имеет значения по умолчанию.[ @ymax = ] 'ymax'
Максимальная координата по оси Y для ограничивающего прямоугольника. Аргумент ymax имеет тип float и не имеет значения по умолчанию.[ @sample = ] 'sample'
Используемая область таблицы (в процентах). Допустимые значения: от 0 до 100. sample имеет тип float. По умолчанию установлено значение 100.
Значение свойства/возвращаемое значение
Возвращает табличное значение. В следующей сетке описывается содержимое столбцов таблицы.
Имя столбца |
Тип данных |
Описание |
|---|---|---|
cellid |
int |
Представляет собой уникальный идентификатор каждой ячейки, перечисление начинается с 1. |
cell |
geometry |
Прямоугольный многоугольник, представляющий каждую ячейку. Форма ячеек идентична форме ячеек, используемой при пространственном индексировании. |
row_count |
bigint |
Указывает количество пространственных объектов, которые ограничивают или содержат ячейку. |
Разрешения
Пользователь должен быть членом роли public. Необходимо разрешение READ ACCESS на сервере и объекте.
Замечания
В пространственной таблице среды SSMS отображается графическое представление результатов. Можно повторно отправить запрос результатов с использованием пространственного окна для определения приблизительного количества элементов результатов. Объекты в таблице могут занимать более одной ячейки, поэтому сумма количества ячеек может быть больше числа фактических объектов.
В результирующий набор, в котором указано число объектов, находящихся за пределами ограничивающего прямоугольника или касающихся его, можно добавить дополнительную строку. Идентификатор cellid этой строки равен 0, а аргумент cell этой строки содержит LineString, который представляет ограничивающий прямоугольник. Эта строка представляет все пространство за пределами ограничивающего прямоугольника.
Примеры
В следующем примере создается таблица и затем для нее вызывается процедура sp_help_spatial_geometry_histogram.
USE AdventureWorksDW2012
GO
-- Set database compatibility for circular arc segments
ALTER DATABASE AdventureWorksDW2012
SET COMPATIBILITY_LEVEL = 110;
GO
-- Create table to execute sp_help_spatial_geometry_histogram on
CREATE TABLE TownSites
(
Location geometry NULL,
SiteName nvarchar(50) NULL
)
GO
-- Insert site data into table
DECLARE @g geometry;
SET @g = geometry::Parse('POINT(0 0)');
INSERT INTO TownSites(Location, SiteName)
SELECT @g, N'Booth Map';
SET @g = geometry::Parse('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))');
INSERT INTO TownSites(Location, SiteName)
SELECT @g, N'Town Hall';
SET @g = geometry::Parse('CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(-1 0, 0 -1, 1 0),(1 0, 1 2, -1 0)))');
INSERT INTO TownSites(Location, SiteName)
SELECT @g, N'Main Park';
SET @g = geometry::Parse('CIRCULARSTRING(1 5, 2 2, 5 1)');
INSERT INTO TownSites(Location, SiteName)
SELECT @g, N'Main Road';
-- Call proc to see data within bounding box
EXEC sp_help_spatial_geometry_histogram @tabname = TownSites, @colname = Location, @resolution = 64, @xmin = -2, @ymin = -2, @xmax = 3, @ymax = 3, @sample = 100;
GO
DROP TABLE TownSites;
GO