English 中文(简体)
• 如何从2008年服务器地理线上取得纬度长度?
原标题:How to get Latitude Longitude from SQL Server 2008 geography line?

地图绘制世界新一米,I m试图将SQ服务器地理线一栏改成纬度点,以利用地图。

The line is being set like this

Set @GeoPoly = geography::STGeomFromText( LINESTRING( +@Polyline+ ) ,4326)

任何人都知道如何这样做? 预 收

最佳回答

我有幸这样做:

DECLARE @g geography;
SET @g = geography::STLineFromText(
    LINESTRING(-122.360 47.656, -122.343 47.656 ) 
    , 4326
); 
SELECT @g.STPointN(1).ToString(), @g.STPointN(2).ToString();
问题回答

您 界线只包括一个连接两点的直线部分? 如果是的话,你可以检索这些要点的纬度和长度:

SELECT
  @GeoPoly.STStartPoint.Lat AS Start_Lat,
  @GeoPoly.STStartPoint.Long AS Start_Long,
  @GeoPoly.STEndPoint.Lat AS End_Lat,
  @GeoPoly.STEndPoint.Long AS End_Long;

如果你的分界线由多个直线部分组成,连接一系列的点,那么,你就可以利用“TtoString()”方法检索好Known文本代表,然后通过把 resulting子分开,将由此造成的扼制成协调奶制品:

SELECT @GeoPoly.ToString()

其结果将采用以下格式: Lat1, Lon2, Lat2, ......, Lonn, Latn

您可以通过将STasText(STasText)(SPLIT)、CROSS AppLY(CROSS)和UBING_AGG(AG)合并来做到这一点。 这方面的一个例子是:

WITH Links AS (
    SELECT Id, REPLACE(REPLACE(PosList.STAsText(),  LINESTRING ( ,   ),  ) ,   ) as points_string
    FROM LinkSequenceProjections
    WHERE ImportFileId = 1
    AND Id < 5
)
, Points AS (
    SELECT Id, ltrim(value) as point_string, row_number() OVER (PARTITION BY Id ORDER By Id) as Nr
    FROM Links
    CROSS APPLY STRING_SPLIT(points_string,  , )
)
, Coords AS (
    SELECT Id, Nr, CAST(value AS [varchar](max)) AS coord
    FROM Points
    CROSS APPLY STRING_SPLIT(point_string,    )
)
, GroupedByNr AS (
    SELECT Id, Nr, MIN(coord) AS Lon, MAX(coord) AS Lat
    FROM Coords
    GROUP BY Id, Nr
)
, GroupedById AS (
    SELECT Id,  LINSESTRING (  + STRING_AGG(Lon +     + Lat,  ,  ) WITHIN GROUP (ORDER BY Nr) +  )  as wkt2
    FROM GroupedByNr
    GROUP BY Id
)
SELECT Id, geography::STGeomFromText(wkt2, 4326) AS PosList2
FROM GroupedById




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签