Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lưu trữ cột 'Điểm' từ ShapeFile

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()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Pivot với nhiều cột

  2. Hàm IndexOf trong T-SQL

  3. Tìm hiểu kiểu dữ liệu của các cột được trả về trong tập kết quả trong SQL Server

  4. Làm thế nào để gán một kết quả thực thi cho một biến sql?

  5. Bí danh động T-SQL mà không cần sử dụng SQL động