geograficas create coordenadas sql-server sql-server-2008 geometry

sql server - create - Columna de geometría: STGeomFromText y SRID(¿qué es un SRID?)



sql server create table geography (5)

SRID = IDentificador de referencia espacial

las coordenadas deben usar el mismo SRID para ser comparables. de lo contrario, terminarías comparando kilómetros y millas. o algo similar.

Estoy jugando con la nueva columna de geografía en SQL Server 2008 y la función STGeomFromText. Aquí está mi código (funciona con AdventureWorks2008)

DECLARE @region geography; set @region = geography::STGeomFromText(''POLYGON(( -80.0 50.0, -90.0 50.0, -90.0 25.0, -80.0 25.0, -80.0 50.0))'', 4326); SELECT @region;

Mi pregunta es sobre el 4326 en el código. Se supone que es una ID de referencia espacial. Cuando voy a MSDN, no tengo mucho. Si cambio el valor a 56, aparece un error diciéndome que el valor debe estar en la tabla sys.spatial_reference_systems.

Puede mirar esa tabla ejecutando:

select * from sys.spatial_reference_systems

Hay una columna well_known_text en esa tabla, pero no me dice mucho. El valor para 4326 es:

GEOGCS["WGS 84", DATUM["World Geodetic System 1984", ELLIPSOID["WGS 84", 6378137, 298.257223563]], PRIMEM["Greenwich", 0], UNIT["Degree", 0.0174532925199433]]

¿Alguien puede explicarme este misterio? ¿Que es el SRID?


Encontré este sitio web: http://spatialreference.org/ref/epsg/4326/ bastante útil para comprender el SRID que tiene la intención de usar. Proporciona un mapa útil, información de cuadro delimitador y otros enlaces.

Para otros SRID, simplemente cambie los dígitos al final de la URL por lo que está buscando.


La distancia devuelta depende del "Identificador de referencia espacial (SRID)" que defina para sus tipos de geografía.

En el siguiente ejemplo, se usa el SRID predeterminado de 4336, vea el segundo argumento de STGeomFromText . Esto significa que la distancia devuelta está expresada en metros; para ello, consulta la vista de catálogo spatial_reference_systems, es decir, select srs.unit_of_measure from sys.spatial_reference_systems as srs where srs.spatial_reference_id = 4326

Como alternativa a STGeomFromText , puede usar el análisis que asume un SRID de 4326 y no tiene que especificar uno explícitamente.

Al calcular la distancia entre dos puntos, debe usar el mismo SRID para ambos tipos de geografía, de lo contrario obtendrá un error. Ejemplo:

DECLARE @address1 GEOGRAPHY DECLARE @address2 GEOGRAPHY DECLARE @distance float SET @address1 = GEOGRAPHY::STGeomFromText (''point(53.046908 -2.991673)'',4326) SET @address2 = GEOGRAPHY::STGeomFromText (''point(51.500152 -0.126236)'',4326) SET @distance = @address1.STDistance(@address2) SELECT @distance --this is the distance in meters


Así que terminé hablando ayer con un ex militar que era especialista en mapas / radar. Básicamente, sabía exactamente qué era ese número (4326), de dónde venía y por qué estaba allí.

Es un estándar de la industria para la geografía informática. El problema es que la Tierra no es una esfera perfecta (sobresale en el medio), y SRID 4326 es responsable de eso.

Como dije, la tabla sys.spatial_reference_systems enumera todo el código y lo que son. Pero la versión corta es que realmente solo usará 4326 a menos que tenga una razón muy específica para usar algo diferente.


Hay muchos sistemas para mapear la tierra. Por ejemplo, desea mapear algún estado en EE. UU. Puede establecer el punto más al sureste como 0,0 y asignar todas las demás coordenadas espaciales según este punto. Por otro lado, es posible que desee asignar algunos datos espaciales que abarcan todo el mapa. En cualquier caso, debe elegir un punto como 0,0. Además, debe seleccionar algún tipo de unidad de medida: millas / kilómetros / grados / alguna otra unidad mágica que le convenga mejor. Con los años, muchos de esos sistemas se desarrollaron. Cada uno tiene su propio punto cero, sus propias coordenadas, sus propias reglas sobre si la tierra es plana o no. SRID o SRS es la identificación de dicho sistema. Usando esta identificación, puede mapear el punto expresado en un sistema a otro sistema, aunque algunas veces involucra algunas matemáticas bastante complejas.

Y alrededor de 4326 SRID. También llamó al sistema "WGS 84" ( http://en.wikipedia.org/wiki/World_Geodetic_System ). Es el sistema más común para representar el punto en tierra esférica (no plana). Utiliza grados, minutos, segunda notación y sus coordenadas xey se llaman generalmente latitud y longitud.

La proyección de tierra no esférica más utilizada se llama UTM. Puede leer sobre esto aquí: http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system

De todos modos, mientras no haga conversiones espaciales de un sistema a otro, realmente no le importa el sistema que utiliza.