中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

利用GDAL/OGR導空間數據到SQLServer2008
來源:易賢網 閱讀:1722 次 日期:2014-12-04 15:21:39
溫馨提示:易賢網小編為您整理了“利用GDAL/OGR導空間數據到SQLServer2008”,方便廣大網友查閱!

網上有個工具可以做到,可惜導入的中文是亂碼,搜索了一圈好像沒什么解決辦法,于是想自己搞一個,哎,一搞才知道麻煩重重啊~

首先查資料,了解了一下SQLServer中的空間數據分兩種,Geometry和Geography,一種是平面一種球面,比如在做距離計算時結果是不一樣的啊

所以我必須先Geography球面坐標系,但這玩意兒有限制啊,比如多邊形外環方向必須是逆時針,內環方向必須是順時針,不能超過一個半球等等

不管了先做,加載GDAL和ORG,打開MapInfo圖層,遍歷之,取字段正常,取幾何個數正確,下一步將幾何數據導出,方法很多,支持OpenGIS的系統

都支持WKT和WKB,為了方便選ExportToWkt,然后生成 INSERT語句,差不多了,執行之,問題來了:Sqlserver報錯,說什么

消息 6522,級別 16,狀態 1,第 1 行

在執行用戶定義例程或聚合 "geography" 期間出現 .NET Framework 錯誤:

Microsoft.SqlServer.Types.GLArgumentException: 24205: 因為指定的輸入超過了一個半球,所以它不代表有效的地理實例。每個地理實例必須能容納在一個半球內。此錯誤的常見原因是某個多邊形的環方向錯誤。

Microsoft.SqlServer.Types.GLArgumentException:

在 Microsoft.SqlServer.Types.GLNativeMethods.ThrowExceptionForHr(GL_HResult errorCode)

在 Microsoft.SqlServer.Types.GLNativeMethods.GeodeticIsValid(GeoData g)

在 Microsoft.SqlServer.Types.SqlGeography.IsValidExpensive()

在 Microsoft.SqlServer.Types.SqlGeography.ConstructGeographyFromUserInput(GeoData g, Int32 srid)

在 Microsoft.SqlServer.Types.SqlGeography.GeographyFromText(OpenGisType type, SqlChars taggedText, Int32 srid)

在 Microsoft.SqlServer.Types.SqlGeography.STGeomFromText(SqlChars geometryTaggedText, Int32 srid)

將geography::STGeomFromText換成geometry::STGeomFromText,沒問題可以正常生成幾何,哎,說明真的環方向有問題,改吧,于是有了以后代碼

using System;

using System.Collections.Generic;

using System.Text.RegularExpressions;

namespace SqlSpatialTools

{

public class Point

{

public double X { get; set; }

public double Y { get; set; }

public Point(double x, double y)

{

X = x;

Y = y;

}

public static Point Parse(string pt)

{

var p = pt.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);

return p.Length == 2 ? new Point(Convert.ToDouble(p[0]), Convert.ToDouble(p[1])) : null;

}

public override string ToString()

{

return string.Format("{0:F8} {1:F8}", X, Y);

}

}

public static class Wkt

{

///

/// 判斷環的是否為順時針方向

///

///

/// True順時針,False逆時針

private static bool IsRingClockwise(IList pp)

{

double t = 0;

for (var i = 1; i < pp.Count; i++)

t += pp[i - 1].X * pp[i].Y - pp[i].X * pp[i - 1].Y;

t += pp[pp.Count - 1].X * pp[0].Y - pp[0].X * pp[pp.Count - 1].Y;

return t < 0;

}

//判斷是否是環

public static bool IsRing(IList pp)

{

var t = pp.Count - 1;

return (t > 2 && pp[0].X == pp[t].X && pp[0].Y == pp[t].Y);

}

public static string[] Resverse(List pts, bool resverse)

{

var sl = new List();

foreach (var pt in pts)

{

sl.Add(pt.ToString());

}

if (resverse)

sl.Reverse();

return sl.ToArray();

}

public static string ReverseWKT(string wkt)

{

if (!Regex.IsMatch(wkt, "POLYGON"))

return wkt;

var retwkt = wkt;

var ms = Regex.Matches(retwkt, @"(d+.*?d+)");

//按geography規則,多邊形外環應該逆時針,內環順時針

//POLYGON(())中第一個()中的是外形,其它的是內環

//LINESTRING()直接判斷是否為逆時針即可(判斷一下需要需要逆時針)

if (ms.Count > 0)

{

for (var i = ms.Count - 1; i >= 0; i--)

{

var m = ms[i];

var s = m.ToString().TrimStart(new[] { '(' }).TrimEnd(new[] { ')' });

var pa = s.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);

var ls = new List();

foreach (var p in pa)

{

var pt = Point.Parse(p);

if (pt != null)

ls.Add(pt);

}

//TODO 多邊形有內環的不能逆轉,要順時針

if (IsRing(ls))

{

var rs = string.Join(",", Resverse(ls, IsRingClockwise(ls)));//如果是順時針則逆轉

retwkt = retwkt.Remove(m.Index, m.Length).Insert(m.Index, string.Format("({0})", rs));

}

}

return retwkt;

}

return wkt;

}

}

}

以上用的.net 2.0所以string[].ToArray這種都不支持,雖然MutiPolygon和GeomertyCollection還是搞不定, 不過一般Polygon是沒問題的,再次測試了一個MapInfo Table

(中國面省界)基本OK,再導面縣界,結果一些搞不定,導出WKT用SELECT在SQLER里試了一下,真不行啊,查了一下用網上工具導的記錄,WKT是GEOMETRYCOLLECTION,而我用GDAL/OGR查出來說是POLYGON類型

利用GDAL/OGR導空間數據到SQLServer2008 三聯

名單

這明明是一條線和一個多邊形組成的啊,GDAL/OGR居然說是POLYGON,試了GDAL1.6、GDAL1.7,應該是OGR的問題,不搞了,累覺不愛啊

總之導ESRI Shape用Geometry模式還是可以的,中文問題解決了,配和SQLServer的Update語句基本能解決問題

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:利用GDAL/OGR導空間數據到SQLServer2008
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
91久久久一线二线三线品牌| 国产精品扒开腿做爽爽爽视频| 亚洲乱码视频| 亚洲精品一区中文| 亚洲一区二区成人| 欧美一区二区成人| 久久久久久久网站| 欧美激情一区二区| 国产性色一区二区| 亚洲日本在线观看| 久久精品免费观看| 欧美啪啪成人vr| 欧美日韩国产色视频| 国产真实久久| 亚洲电影在线| 亚洲欧美一区二区原创| 蜜桃久久精品一区二区| 国产精品s色| 在线看成人片| 欧美一级片在线播放| 免费欧美高清视频| 国产欧美日韩精品一区| 日韩一级免费| 美女亚洲精品| 国外视频精品毛片| 亚洲欧洲av一区二区| 欧美激情影院| 雨宫琴音一区二区在线| 欧美专区第一页| 国产精品日韩久久久久| 日韩视频第一页| 另类天堂av| 好男人免费精品视频| 亚洲日本va午夜在线电影| 久久影院亚洲| 国产午夜精品一区二区三区欧美| 欧美日韩理论| 亚洲欧洲日产国产综合网| 午夜一区不卡| 欧美午夜在线观看| 一本色道久久综合狠狠躁篇的优点| 久热精品视频在线| 精品成人一区二区三区| 久久精品首页| 一区二区视频在线观看| 久久国产精品电影| 国内精品亚洲| 久久色在线播放| 国内成人在线| 久久成人18免费观看| 国产欧美日韩一级| 欧美在线视频观看| 国内精品久久久久影院色 | 亚洲国产精品电影在线观看| 午夜精品一区二区三区在线 | 欧美色精品在线视频| 亚洲国产欧美在线人成| 美女啪啪无遮挡免费久久网站| 好吊色欧美一区二区三区视频| 久久精品亚洲精品| 亚洲成人在线网| 欧美成人精品不卡视频在线观看| 亚洲电影免费观看高清完整版在线| 麻豆9191精品国产| 亚洲人成7777| 欧美日韩一区二区三区在线| 亚洲一区二区影院| 国产一区二区在线观看免费播放| 久久久97精品| 亚洲高清视频一区二区| 欧美精品午夜视频| 亚洲欧美国产不卡| 激情自拍一区| 欧美精品一区二区三区视频| 亚洲午夜精品一区二区| 国产尤物精品| 欧美国产视频在线| 亚洲免费视频观看| 欧美sm重口味系列视频在线观看| 久久精品噜噜噜成人av农村| 国产亚洲精品综合一区91| 欧美亚洲自偷自偷| 亚洲第一中文字幕| 欧美大胆人体视频| 国产一区99| 欧美激情偷拍| 国内综合精品午夜久久资源| 玖玖在线精品| 99精品久久久| 黄色精品一区二区| 欧美日本高清视频| 亚洲免费在线看| 1024欧美极品| 美女主播精品视频一二三四| 亚洲午夜极品| 亚洲第一级黄色片| 久久久久久国产精品mv| 夜夜嗨av一区二区三区中文字幕 | 国产精品久久网站| 午夜亚洲性色福利视频| 亚洲人成在线观看网站高清| 国产精品yjizz| 蜜臀久久久99精品久久久久久| 99国产精品久久久久久久久久| 国产在线视频不卡二| 欧美特黄一区| 欧美成年人视频网站欧美| 欧美一级夜夜爽| 一本不卡影院| 亚洲国产精品成人| 国产真实乱子伦精品视频| 亚洲精品国产精品久久清纯直播 | 黄色日韩精品| 欧美成在线视频| 欧美精品一区在线播放| 欧美在线一二三四区| 日韩视频一区二区三区在线播放免费观看 | 欧美亚洲免费在线| 日韩午夜在线电影| 亚洲黄色免费| 亚洲精品之草原avav久久| 国产亚洲精品aa| 国产精品青草久久久久福利99| 欧美精品日韩精品| 蜜桃av噜噜一区| 久久免费视频在线观看| 欧美一区国产二区| 亚洲综合色网站| 99热在线精品观看| 亚洲理论在线观看| 亚洲人线精品午夜| 亚洲精美视频| 亚洲人体1000| 亚洲精品一区二区三区婷婷月| 亚洲高清色综合| 精品91在线| 国内精品久久久久久 | 亚洲三级免费电影| 亚洲国产日韩美| 亚洲第一区色| 在线观看日韩专区| 亚洲国产精品一区二区www在线| 在线播放中文一区| 国产一本一道久久香蕉| 国产自产v一区二区三区c| 国产亚洲精品久久久久动| 国产精品一区二区你懂得| 国产欧美在线播放| 国产在线拍偷自揄拍精品| 国产午夜久久| 狠狠爱成人网| 亚洲国产天堂久久综合| 亚洲精品少妇网址| 99精品国产热久久91蜜凸| 亚洲深爱激情| 欧美一区二区精美| 欧美一区二区视频网站| 久久久国产精品一区| 久久综合久久综合这里只有精品| 久久这里有精品15一区二区三区| 蜜臀99久久精品久久久久久软件| 久久综合九九| 欧美日韩高清在线观看| 欧美视频网址| 国产欧美亚洲一区| 亚洲风情亚aⅴ在线发布| 亚洲免费成人| 午夜精品国产精品大乳美女| 久久精品国产99国产精品| 免费观看成人| 欧美性做爰毛片| 韩国av一区二区三区四区| 亚洲激情小视频| 亚洲欧美综合国产精品一区| 久久精品国产久精国产思思| 欧美成熟视频| 国产精品视频免费观看| 在线不卡a资源高清| 91久久在线观看| 在线综合亚洲欧美在线视频| 欧美伊人久久久久久午夜久久久久 | 亚洲伦理中文字幕| 香蕉成人久久| 欧美女同视频| 红桃视频亚洲| 亚洲影院在线| 欧美mv日韩mv国产网站| 国产精品久久久久久超碰| 在线观看欧美亚洲| 亚洲免费在线视频一区 二区| 蜜桃av一区二区三区| 国产精品福利网| 亚洲国产视频直播| 欧美在线视频a| 欧美视频在线观看| 亚洲激精日韩激精欧美精品| 欧美亚洲综合另类| 欧美午夜视频一区二区| 亚洲精品乱码久久久久久按摩观| 欧美一级黄色录像|