Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El tipo de datos espaciales de geografía, geography
, representa los datos en un sistema de coordenadas esférica. Este tipo se implementa como un tipo de datos de Common Language Runtime (CLR) de .NET en SQL Server. El tipo de datos de SQL Server geography
almacena datos elipsoidales (tierra redonda), como coordenadas de latitud y longitud GPS.
El geography
tipo está predefinido y está disponible en cada base de datos. Puede crear columnas de tabla de tipo geography
y operar en geography
datos de la misma manera que usaría otros tipos proporcionados por el sistema.
Creación de una nueva instancia de geografía
Creación de una nueva instancia de 'geography' a partir de una instancia existente
El geography
tipo de datos proporciona numerosos métodos integrados que puede usar para crear nuevas geography
instancias basadas en instancias existentes.
Para crear un búfer alrededor de una geografía
STBuffer (tipo de datos geography)
Para crear un búfer alrededor de una geografía, lo que permite una tolerancia
BufferWithTolerance (tipo de datos de geografía)
Para crear una geografía a partir de la intersección de dos instancias de geografía
STIntersection (tipo de datos geografía)
Para crear una geografía a partir de la unión de dos instancias de geografía
STUnion (tipo de datos de geografía)
Para crear una geografía a partir de los puntos en los que una geografía no se superpone a otra
STDifference (geography tipo de datos)
Construcción de una instancia de Geografía a partir de una entrada de texto Well-Known
El geography
tipo de datos proporciona varios métodos integrados que generan una geografía a partir de la representación WKT de Open Geospatial Consortium (OGC). El estándar WKT es una cadena de texto que permite intercambiar datos geográficos en formato textual.
Para construir cualquier tipo de instancia de geografía a partir de la entrada WKT
STGeomFromText (tipo de datos geografía)
Analizar (Tipo de Datos Geography)
Para construir una instancia de geography Point a partir de la entrada WKT
STPointFromText (tipo de datos geografía)
Para construir una instancia de Geography MultiPoint a partir de la entrada WKT
STMPointFromText (tipo de datos Geography)
Para construir una instancia de Geography LineString a partir de la entrada WKT
STLineFromText (Tipo de datos de geografía)
Para construir una instancia geography MultiLineString a partir de la entrada WKT
STMLineFromText (tipo de datos geografía)
Para construir una instancia de Geography Polygon a partir de la entrada WKT
STPolyFromText (tipo de datos geography)
Para construir una instancia de geography MultiPolygon a partir de la entrada WKT
STMPolyFromText (tipo de datos geography)
Para construir una instancia de geography GeometryCollection a partir de la entrada WKT
STGeomCollFromText (tipo de dato geografía)
Construyendo una instancia de Geography a partir de la entrada binaria Well-Known
WKB es un formato binario especificado por el OGC que permite Geography
intercambiar datos entre una aplicación cliente y una base de datos SQL. Las siguientes funciones aceptan datos WKB para crear instancias geográficas.
Para construir cualquier tipo de instancia de geografía a partir de entrada WKB
STGeomFromWKB (tipo de datos geografía)
Para construir una instancia de geography Point a partir de la entrada WKB
STPointFromWKB (tipo de datos geography)
Para construir una instancia de Geography MultiPoint a partir de la entrada WKB
STMPointFromWKB (tipo de datos geography)
Para construir una instancia de Geography LineString a partir de la entrada WKB
STLineFromWKB (Geography Data Type)
Para construir una instancia geography MultiLineString a partir de la entrada WKB
STMLineFromWKB (geografía tipo de datos)
Para construir una instancia de Geography Polygon a partir de la entrada WKB
STPolyFromWKB (geography tipo de datos)
Para construir una instancia de Geography MultiPolygon a partir de la entrada WKB
STMPolyFromWKB (Tipo de datos Geography)
Para construir una instancia de geography GeometryCollection a partir de la entrada WKB
STGeomCollFromWKB (tipo de datos geografía)STGeomCollFromWKB (tipo de datos geografía)
Construcción de una instancia de geografía a partir de la entrada de texto GML
El geography
tipo de datos proporciona un método que genera una geography
instancia de GML, una representación XML de una geography
instancia. SQL Server admite un subconjunto de GML.
Para obtener más información sobre el lenguaje de marcado de geografía, consulte la especificación de OGC: Especificaciones de OGC, lenguaje de marcado de geografía.
Para construir cualquier tipo de instancia de geografía a partir de datos GML
GeomFromGML (Tipo de datos Geography)
Devolver texto Well-Known y Well-Known binario desde una instancia de tipo geography
Puede usar los métodos siguientes para devolver el formato WKT o WKB de una geography
instancia:
Para devolver la representación WKT de una instancia de geografía
STAsText (tipo de datos geography)
ToString (tipo de datos geography)
Para devolver la representación WKT de una instancia de geografía, incluidos los valores Z y M
Tipo de datos de geografía AsTextZM
Para devolver la representación WKB de una instancia de geografía
STAsBinary (tipo de datos de geografía)
Para devolver una representación GML de una instancia geográfica
AsGml (tipo de datos de geografía)
Consultar las propiedades y comportamientos de las instancias de geography
Todas las geography
instancias tienen una serie de propiedades que se pueden recuperar a través de métodos que proporciona SQL Server. En los temas siguientes se definen las propiedades y comportamientos de los tipos de geografía y los métodos para consultar cada uno de ellos.
Validez, tipo de instancia e información de GeometryCollection
Una vez construida una geography
instancia, puede usar los métodos siguientes para devolver el tipo de instancia o, si es una GeometryCollection
instancia, devolver una instancia específica geography
.
Para devolver el tipo de instancia de una geografía
STGeometryType (tipo de datos geografía)
Para determinar si una geografía es un tipo de instancia determinado
InstanceOf (tipo de datos geografía)
Para determinar si una instancia de geography tiene un formato correcto para su tipo de instancia
STNumGeometries (Tipo de Datos Geography)
Para devolver una geografía específica en una instancia de GeometryCollection
STGeometryN (tipo de datos geografía)STGeometryN (tipo de datos geografía)
Número de puntos
Todas las instancias que no están vacías se componen de geography
. Estos puntos representan las coordenadas de latitud y longitud de la Tierra sobre las cuales se dibujan las instancias de geography
. El tipo geography
de datos proporciona numerosos métodos integrados para consultar los puntos de una instancia.
Para devolver el número de puntos que componen una instancia
STNumPoints (Tipo de datos de geografía)
Para devolver un punto específico en una instancia
STPointN (tipo de datos geometry)
Para devolver el punto de inicio de una instancia
STStartPoint (tipo de datos de geografía)
Para devolver el punto final de una instancia
STEndpoint (tipo de datos Geography)
Dimensión
Una instancia no geography
vacía puede ser de 0, 1 o 2 dimensiones. Las instancias dimensionales geography
cero, como Point
y MultiPoint
, no tienen longitud ni área. Los objetos unidimensionales, como LineString, CircularString
, CompoundCurve
y MultiLineString
, tienen longitud. Las instancias bidimensionales, como Polygon, CurvePolygon
, y MultiPolygon
, tienen área y longitud. Las instancias vacías notifican una dimensión de -1 y un GeometryCollection
informa de la dimensión máxima de su contenido.
Para devolver la dimensión de una instancia
STDimension (Tipo de Datos Geography)
Para devolver la longitud de una instancia
STLength (Tipo de Datos Geography)
Para devolver el área de una instancia
STArea (tipo de datos de geography)
Vacío
Una instancia vacíageography
no tiene puntos. La longitud de las instancias vacías LineString, CircularString
, CompoundCurve
y MultiLineString
es 0. El área de las instancias vacías Polygon, CurvePolygon
y MultiPolygon
es 0.
Para determinar si una instancia está vacía
STIsEmpty (tipo de datos geography)
Cierre
Una instanciageography
cerrada es una figura cuyos puntos iniciales y finales son los mismos.
Polygon
Las instancias se consideran cerradas.
Point
Las instancias no están cerradas.
Un anillo es una instancia simple y cerrada LineString
.
Para determinar si se cierra una instancia
STIsClosed (tipo de datos de geografía)
Para devolver el número de anillos en una instancia de Polygon
NumRings (Tipo de Datos Geography)
Para devolver el anillo especificado de una instancia de geografía
RingN (Tipo de datos Geography)
Id. de referencia espacial (SRID)
El identificador de referencia espacial (SRID) es un identificador que especifica en qué sistema de coordenadas elipsoidal se representa la geography
instancia. No se pueden comparar dos geography
instancias con SRID diferentes.
Para establecer o devolver el SRID de una instancia
STSrid (tipo de datos geography)
Esta propiedad se puede modificar.
Determinar las relaciones entre instancias de geografía
El geography
tipo de datos proporciona muchos métodos integrados que puede usar para determinar las relaciones entre dos geography
instancias.
Para determinar si dos instancias componen el mismo conjunto de puntos
STEquals (Tipo de Datos Geometry)
Para determinar si dos instancias están separadas
STDisjoint (tipo de datos de geometría)
Para determinar si dos instancias se intersecan
STIntersects (tipo de datos Geometry)
Para determinar el punto o los puntos en los que se intersecan dos instancias
STIntersection (tipo de datos geography)
Para determinar la distancia más corta entre puntos en dos instancias geográficas
STDistance (tipo de dato geometría)
Para determinar la diferencia en puntos entre dos entidades de geografía
STDifference (tipo de dato geográfico)
Para derivar la diferencia simétrica, o puntos únicos, de una instancia de "geography" en comparación con otra instancia
STSymDifference (Tipo de Datos Geography)
Las instancias de geography deben usar SRID compatibles
SQL Server admite SRID en función de los estándares EPSG. Las instancias de geography
deben usar un SRID compatible con SQL Server al efectuar cálculos o aplicar métodos con datos espaciales de geografía. El SRID debe coincidir con uno de los SRID que se muestran en la vista de catálogo sys.spatial_reference_systems. Como se mencionó anteriormente, al realizar cálculos sobre los datos espaciales mediante el geography
tipo de datos, los resultados dependerán de qué elipsoide se usó en la creación de los datos, ya que a cada elipsoide se le asigna un identificador de referencia espacial específico (SRID).
SQL Server usa el SRID predeterminado de 4326, que se asigna al sistema de referencia espacial WGS 84, cuando se utilizan métodos en instancias geography
. Si usa datos de un sistema de referencia espacial distinto de WGS 84 (o SRID 4326), deberá determinar el SRID específico para los datos espaciales de geografía.
Ejemplos
En los ejemplos siguientes se muestra cómo agregar y consultar datos de geografía.
En el primer ejemplo se crea una tabla con una columna de identidad y una
geography
columnaGeogCol1
. Una tercera columna representa la columnageography
en su representación del Open Geospatial Consortium (OGC) como texto Well-Known (WKT) y usa el métodoSTAsText()
. A continuación, se insertan dos filas: una fila contiene unaLineString
instancia degeography
y una fila contiene unaPolygon
instancia.IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL DROP TABLE dbo.SpatialTable; GO CREATE TABLE SpatialTable ( id int IDENTITY (1,1), GeogCol1 geography, GeogCol2 AS GeogCol1.STAsText() ); GO INSERT INTO SpatialTable (GeogCol1) VALUES (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326)); INSERT INTO SpatialTable (GeogCol1) VALUES (geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326)); GO
En el segundo ejemplo se usa el
STIntersection()
método para devolver los puntos en los que se intersecan las dos instancias insertadasgeography
anteriormente.DECLARE @geog1 geography; DECLARE @geog2 geography; DECLARE @result geography; SELECT @geog1 = GeogCol1 FROM SpatialTable WHERE id = 1; SELECT @geog2 = GeogCol1 FROM SpatialTable WHERE id = 2; SELECT @result = @geog1.STIntersection(@geog2); SELECT @result.STAsText();