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

利用GDAL/OGR導空間數(shù)據(jù)到SQLServer2008
來源:易賢網(wǎng) 閱讀:1538 次 日期:2014-11-03 11:53:34
溫馨提示:易賢網(wǎng)小編為您整理了“利用GDAL/OGR導空間數(shù)據(jù)到SQLServer2008”,方便廣大網(wǎng)友查閱!

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

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

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

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

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

消息 6522,級別 16,狀態(tài) 1,第 1 行

在執(zhí)行用戶定義例程或聚合 "geography" 期間出現(xiàn) .NET Framework 錯誤:

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

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,沒問題可以正常生成幾何,哎,說明真的環(huán)方向有問題,改吧,于是有了以后代碼

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

{

///

/// 判斷環(huán)的是否為順時針方向

///

///

/// True順時針,F(xiàn)alse逆時針

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;

}

//判斷是否是環(huán)

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規(guī)則,多邊形外環(huán)應該逆時針,內(nèi)環(huán)順時針

//POLYGON(())中第一個()中的是外形,其它的是內(nèi)環(huán)

//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 多邊形有內(nèi)環(huán)的不能逆轉(zhuǎn),要順時針

if (IsRing(ls))

{

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

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,再導面縣界,結(jié)果一些搞不定,導出WKT用SELECT在SQLER里試了一下,真不行啊,查了一下用網(wǎng)上工具導的記錄,WKT是GEOMETRYCOLLECTION,而我用GDAL/OGR查出來說是POLYGON類型

名單

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

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

更多信息請查看IT技術(shù)專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:利用GDAL/OGR導空間數(shù)據(jù)到SQLServer2008
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>

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

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩视频在线一区二区 | 国产精品yjizz| 国产欧美在线观看一区| 亚洲一区二区伦理| 国产精品少妇自拍| 欧美一二三区精品| 一区二区三区中文在线观看| 美女久久一区| 亚洲精品之草原avav久久| 欧美日韩在线视频一区二区| 香蕉亚洲视频| 亚洲人成在线免费观看| 国产精品第十页| 久久精品国产69国产精品亚洲| 亚洲二区视频| 欧美日韩综合久久| 久久国产精品久久久久久电车| 亚洲第一在线综合在线| 欧美日韩在线电影| 久久亚洲精品欧美| 亚洲一级特黄| 亚洲第一级黄色片| 国产精品综合不卡av| 欧美高清在线视频观看不卡| 午夜精品久久久久| 亚洲精品少妇网址| 黑人巨大精品欧美一区二区| 欧美日韩国产在线播放| 久久久综合免费视频| 亚洲一区二区三区精品视频| 精品粉嫩aⅴ一区二区三区四区| 欧美日韩美女| 欧美国产精品专区| 久久久久久亚洲精品不卡4k岛国| 亚洲精品之草原avav久久| 国产一区二区av| 国产精品高潮呻吟久久av黑人| 麻豆91精品| 欧美在线影院在线视频| 99爱精品视频| 亚洲激情网站| 精品51国产黑色丝袜高跟鞋| 国产欧美日韩在线播放| 国产精品久久九九| 欧美交受高潮1| 久久婷婷亚洲| 久久久精品一区| 亚洲图片在区色| 在线一区二区三区四区| 亚洲伦理中文字幕| 国产亚洲精品久久久| 国产精品高清在线| 欧美欧美在线| 欧美激情亚洲国产| 欧美成人免费在线视频| 久久久亚洲高清| 久久免费一区| 裸体丰满少妇做受久久99精品| 久久国产主播| 久久久噜噜噜久久中文字免| 久久米奇亚洲| 久久亚洲精品中文字幕冲田杏梨| 久久精品国产77777蜜臀| 久久国产欧美日韩精品| 久久久久国产精品厨房| 久久精品30| 蜜臀va亚洲va欧美va天堂| 另类专区欧美制服同性| 你懂的国产精品永久在线| 免费不卡欧美自拍视频| 欧美—级在线免费片| 国产精品qvod| 国产人成精品一区二区三| 激情一区二区| 亚洲伦理在线| 亚洲欧美日韩国产综合| 欧美在线看片a免费观看| 久久中文在线| 欧美日韩精品一区二区天天拍小说 | 欧美日韩高清在线观看| 老巨人导航500精品| 久久精品国产99精品国产亚洲性色| 久久精品二区三区| 麻豆亚洲精品| 欧美日韩一区三区四区| 国产拍揄自揄精品视频麻豆| 国产揄拍国内精品对白| 在线视频国产日韩| 一区二区激情| 久久久久久亚洲综合影院红桃| 美女在线一区二区| 欧美日韩亚洲成人| 国产亚洲一区二区精品| 亚洲激情社区| 亚洲欧美综合精品久久成人| 久久久亚洲国产美女国产盗摄| 欧美大片一区| 国产一区二区三区日韩| 日韩视频一区二区| 欧美一级在线视频| 欧美经典一区二区三区| 国产精品视频不卡| 亚洲人成人一区二区在线观看| 亚洲性线免费观看视频成熟| 免费永久网站黄欧美| 国产日韩1区| 中文一区二区| 欧美成人免费播放| 国产一级精品aaaaa看| 亚洲午夜在线观看视频在线| 免费看成人av| 激情欧美一区二区三区在线观看| av成人老司机| 牛夜精品久久久久久久99黑人| 国产精品一区二区在线观看| 亚洲精品国产精品国自产在线| 久久久噜噜噜久噜久久| 国产女人18毛片水18精品| 亚洲午夜免费福利视频| 欧美欧美午夜aⅴ在线观看| 亚洲第一中文字幕| 久久综合99re88久久爱| 国产一区二区日韩精品欧美精品 | **网站欧美大片在线观看| 亚洲综合首页| 欧美午夜精彩| 99www免费人成精品| 欧美成人黑人xx视频免费观看| 国产日韩欧美一区在线| 亚洲欧美日韩网| 国产精品视频xxx| 这里是久久伊人| 欧美三级视频在线观看| 日韩手机在线导航| 欧美日韩第一区| 亚洲毛片一区二区| 欧美国产精品专区| 亚洲理论电影网| 欧美日韩一区二区在线播放| 亚洲经典一区| 免费在线观看日韩欧美| 在线免费不卡视频| 欧美大学生性色视频| 亚洲国产乱码最新视频| 欧美成人午夜77777| 亚洲美女在线观看| 欧美日韩大片| 夜夜夜久久久| 欧美日韩伦理在线| 亚洲一区二区视频在线| 国产精品视频男人的天堂| 欧美亚洲在线观看| 韩国视频理论视频久久| 噜噜噜在线观看免费视频日韩| 亚洲黄色成人| 国产精品视频内| 蜜桃伊人久久| 亚洲免费视频网站| 亚洲成色777777在线观看影院| 欧美激情第五页| 午夜在线不卡| 亚洲第一视频网站| 欧美午夜欧美| 久久精品欧美| 一本色道久久综合| 黄色另类av| 国产精品大片免费观看| 久久婷婷国产综合尤物精品| 一区二区av| 国产精品久久91| 久久久亚洲精品一区二区三区| 亚洲精品男同| 国产亚洲视频在线观看| 免费成人av| 欧美尤物一区| 99精品99久久久久久宅男| 国产一区二区激情| 欧美三区不卡| 另类图片国产| 性做久久久久久久久| 最新国产成人av网站网址麻豆| 国产精品日韩在线播放| 欧美精品国产精品日韩精品| 久久激五月天综合精品| 亚洲精品一区二区在线观看| 国模私拍一区二区三区| 欧美午夜国产| 欧美精品videossex性护士| 久久久久国产精品厨房| 亚洲午夜在线观看| 亚洲国产专区| 伊人婷婷欧美激情| 国产日韩综合| 国产精品一区免费观看| 欧美视频日韩视频在线观看| 欧美阿v一级看视频| 久久久欧美一区二区| 亚洲欧美中文在线视频| 亚洲一区二区毛片| 一区二区精品在线观看|