Tôi khuyên bạn nên lưu trữ toàn bộ đa giác dưới dạng một loại hình học. Nếu / khi bạn cần "chuyển đổi" nó thành địa lý, hãy sử dụng các phương pháp địa lý STNumPoints và STPointN để trích xuất các điểm riêng lẻ theo trình tự và chuyển đổi chúng khi thích hợp.
Nói về chuyển đổi, dữ liệu của bạn hiện đang ở định dạng nào? Tôi không thấy thông tin kinh độ / thời lượng ở đó, nhưng có lẽ tôi đang thiếu một thứ gì đó.
Chỉnh sửa:Đây là một giải pháp mà tôi vừa viết mã.
use tempdb;
create table tally (i int not null);
with
a as (select 1 as [i] union select 0),
b as (select 1 as [i] from a as [a1] cross join a as [a2]),
c as (select 1 as [i] from b as [a1] cross join b as [a2]),
d as (select 1 as [i] from c as [a1] cross join c as [a2]),
e as (select 1 as [i] from d as [a1] cross join d as [a2])
insert into tally
select row_number() over (order by i) from e
create unique clustered index [CI_Tally] on tally (i)
create table ace (g geometry)
insert into ace (g)
values (geometry::STGeomFromText(<<your polygon string here>>, 0));
select i, g.STPointN(t.i), g.STPointN(t.i).STAsText()
from ace as [a]
cross join tally as [t]
where t.i <= g.STNumPoints()