29 votos

Crear una geografía, la geometría de la columna de campos x e y - SQL Server 2008

Soy nuevo en SQL Server 2008 y espero que se entienda mi pregunta/necesidad.

Por lo tanto, tengo una tabla que contiene 3 campos (Nombre, Lat y Long) en mi base de datos (espacial). Quiero crear una geometría/geografía de la columna en función de los campos (Lat y Long), pero lamentablemente sin éxito alguno.

Mi pregunta es: ¿Cómo puedo hacerlo?

40voto

Evan Shaw Puntos 7957

Usted puede agregar una columna calculada como este

alter table yourTable add geographyColumn as geography::STGeomFromText('POINT('+convert(varchar(20),Long)+' '+convert(varchar(20),Lat)+')',4326)

He de añadir que la conversión de gnl o lat porque me almacén de Largo y Lats como números.

11voto

Arda Xi Puntos 1099

Parece que quieren que el STGeomFromText() o STPointFromText() SQL método:

DECLARE @g geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.ToString();

o

DECLARE @g geography;
SET @g = geography::STPointFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.ToString();

Crea tu Geometry o Geography de campo, a continuación, utilizar SQL para rellenar ese campo a través de su lat/lon valores.

1voto

Bill Rodman Puntos 362

Si el redondeo de la original Long/Lat valores ocurrir cuando se usa el CONVERT(VARCHAR, declaración, trate de usar Geodatos = geometría:: STGeomFromText('LETRA' + CAST(CAST(X decimal(13, 2)) COMO varchar) + '' + CAST(CAST(Y COMO decimal(13, 2)) COMO varchar) + ')', 4326)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X