一直有好友想要完整的源文件数据,现在我把这些都共享出来,有兴趣的可以自已运行试试看,相互学习探讨。
下面是完整的可执行exe代码,由于比较简单代码有很多重复的地方,没有重构,不够规范,但是参考下还是可以的。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; namespace exeSurfer { public partial class Form1 : Form { private static string strFolder = Application.StartupPath; private string DataFile = @"D:/surferYK/book1.bln"; private string BlankFile = @"D:/surferYK/省级行政区.bln"; private string flag = "1"; private string LevelSet = "0.0,10.0,50.0,100.0 "; // private string ColorSet = "beffe7,9dd9d2,7db5bf,5e91ac,3f6d99,1f4986,00257"; private string ColorSet = "ff0000,00ffff,8080ff,ff00ff,ffee00"; // private string ColorSet = "0000ff,00ffff,ffffff,ffff00,ff0000,ff00ff,000000"; // private string StrText = "null,null,null,null,null"; private string OutGrpahic = @"D:/surferYK/wang1111.png "; // private string OutGraphic2 = @"D:/surferYK/YKQX7Out.png"; private static string OutTempGraphic; private string width = "824"; private string height = "668"; private string Field = "降水量"; private string hasData = "1"; int IntWidth; int IntHeight; Image myImage; static string[] LevelSetArray; //等级间隔值 static string[] ColorSetArray; //等级颜色值 public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { /*********************************参数在使用前进行错误预判断*********************************/ DataFile = DataFile.Trim(); BlankFile = BlankFile.Trim(); flag = flag.Trim(); LevelSet = LevelSet.Trim(); ColorSet = ColorSet.Trim(); OutGrpahic = OutGrpahic.Trim(); width = width.Trim(); height = height.Trim(); Field = Field.Trim(); hasData = hasData.Trim(); //从字符串中分离出等级数据 LevelSetArray = LevelSet.Split(','); ColorSetArray = ColorSet.Split(','); if ((LevelSetArray.Length + 1) != ColorSetArray.Length) { MessageBox.Show("等级数与等级颜色数不匹配!"); } YKQX(DataFile, BlankFile, flag, LevelSet, ColorSet,OutGrpahic, width, height,Field,hasData); } public void YKQX(string DataFile, string BlankFile, string flag, string LevelSet, string ColorSet, string OutGraphics, string width, string height,string contourType,string hasData) { string strFolder = Application.StartupPath; int LevelNum; Surfer.ApplicationClass AppSurfer = new Surfer.ApplicationClass(); //对Surfer的调用 try { // AppSurfer.Visible = false;//注Surfer窗口是不显现 AppSurfer.Visible = true;//注Surfer窗口是不显现 AppSurfer.WindowState = Surfer.SrfWindowState.srfWindowStateMinimized; AppSurfer.Caption = "营口地区雨量分布图"; // AppSurfer.ScreenUpdating = false;//Surfer制图过程是否显示 AppSurfer.ScreenUpdating = true;//Surfer制图过程是否显示 //建立一个绘图文档和一个绘图窗口 Surfer.IPlotDocument Doc = (Surfer.IPlotDocument)AppSurfer.Documents.Add(Surfer.SrfDocTypes.srfDocPlot); /************************************只绘制底图**************************************************/ if (hasData == "0") { Surfer.IMapFrame mapframe = Doc.Shapes.AddBaseMap(BlankFile, ""); mapframe.Axes.Item(1).Visible = false; mapframe.Axes.Item(2).Visible = false; mapframe.Axes.Item(3).Visible = false; mapframe.Axes.Item(4).Visible = false; //注:将格点化文件GridFile生成等值线图,并给其命名为mapframe; Surfer.IBaseMap baseMap = (Surfer.IBaseMap)mapframe.Overlays.Item(1); baseMap.Fill.Pattern = "Solid"; baseMap.Fill.ForeColor = Surfer.srfColor.srfColorBlack30; Surfer.IMapFrame mapframe1 = Doc.Shapes.AddClassedPostMap(DataFile, 1, 2, 5, 4); mapframe1.Axes.Item(1).Visible = false; mapframe1.Axes.Item(2).Visible = false; mapframe1.Axes.Item(3).Visible = false; mapframe1.Axes.Item(4).Visible = false; Surfer.IClassedPostMap ClassedpostMap = (Surfer.IClassedPostMap)mapframe1.Overlays.Item(1); ClassedpostMap.LabelPos = Surfer.SrfPostPosType.srfPostPosRight; ClassedpostMap.LabelFont.Face = "Arial"; ClassedpostMap.LabelFont.Size = 10; ClassedpostMap.LabelFont.Bold = true; ClassedpostMap.LabelFont.Color = Surfer.srfColor.srfColorRed; ClassedpostMap.NumClasses = 2; ClassedpostMap.BinningMethod = Surfer.SrfPostBinMethod.srfPostUser; double[] binlimits = new double[4]; binlimits[0] = 0; binlimits[1] = 2; binlimits[2] = 2; binlimits[3] = 4; ClassedpostMap.SetBinLimits(binlimits); ClassedpostMap.get_BinSymbol(1).Set = "GSI Default Symbols"; ClassedpostMap.get_BinSymbol(1).Index = 11; ClassedpostMap.get_BinSymbol(1).Size = 0.2; ClassedpostMap.get_BinSymbol(2).Set = "GSI Default Symbols"; ClassedpostMap.get_BinSymbol(2).Index = 11; ClassedpostMap.get_BinSymbol(2).Size = 0.3; ClassedpostMap.SymFrequency = 1; //合并两个图层 Doc.Selection.DeselectAll(); mapframe.Selected = true; mapframe1.Selected = true; Doc.Selection.OverlayMaps(); //画一个矩形框覆盖掉乱码 Surfer.IRectangle rectangle = Doc.Shapes.AddRectangle(5.805, 6.35, 6.2, 6.6, 0, 0); rectangle.Visible = true; rectangle.Line.Style = "Invisible"; rectangle.Fill.Pattern = "Solid"; rectangle.Fill.ForeColor = Surfer.srfColor.srfColorWhite; } /***********************************************************************************************/ else { string dataFile = DataFile; string outGrid = strFolder + @"/booktest.grd"; string blankFile = BlankFile; string blankedGrid = strFolder + @"/booktestBlanked.grd"; AppSurfer.GridData(DataFile, 1, 2, 6, Type.Missing, Surfer.SrfDupMethod.srfDupNone, 0.03, 0.03, 316, 400, 1000000, 1080000, 4360000, 4470000, Surfer.SrfGridAlgorithm.srfInverseDistance, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 5, 0, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, outGrid, Surfer.SrfGridFormat.srfGridFmtAscii, outGrid, Surfer.SrfGridFormat.srfGridFmtAscii, Type.Missing, Type.Missing, Type.Missing, Type.Missing); AppSurfer.GridBlank(outGrid, blankFile, blankedGrid, Surfer.SrfGridFormat.srfGridFmtAscii); /***********************************添加ContourMap图层****************************************/ Surfer.IMapFrame mapframe = Doc.Shapes.AddContourMap(blankedGrid); mapframe.Axes.Item(1).Visible = false; mapframe.Axes.Item(2).Visible = false; mapframe.Axes.Item(3).Visible = false; mapframe.Axes.Item(4).Visible = false; //注:将格点化文件GridFile生成等值线图,并给其命名为mapframe; Surfer.IContourMap ClassedCounterMap = (Surfer.IContourMap)mapframe.Overlays.Item(1); ClassedCounterMap.FillContours = true; LevelNum = LevelSetArray.Length + 1; ClassedCounterMap.ShowColorScale = false; ClassedCounterMap.SmoothContours.Equals(LevelNum); ClassedCounterMap.LabelFont.Face = "Arial"; ClassedCounterMap.LabelFont.Color = Surfer.srfColor.srfColorBlue; ClassedCounterMap.LabelFont.Size = 12; ClassedCounterMap.LabelFont.Bold = true; double[] CustomLevels = new double[LevelNum]; if (flag == "0") //添加等值线图层 { for (int i = 0; i < CustomLevels.Length - 1; i++) { CustomLevels[0] = -10000; CustomLevels[i + 1] = Convert.ToDouble(LevelSetArray[i]); } Surfer.ILevels Levels = ClassedCounterMap.Levels; Levels.Set(CustomLevels); //设置底图 Levels.Item(1).Line.Style = "Invisible"; Levels.Item(1).Fill.ForeColor = Surfer.srfColor.srfColorBlack30; Levels.Item(1).ShowLabel = false; for (int i = 1; i < CustomLevels.Length; i++) { // Levels.Item(i+1).Fill.ForeColor =(Surfer.srfColor) System.Drawing.ColorTranslator.FromHtml(ColorSetArray[i].ToString()); //转换成RGB颜色值 string Colorstr = ColorSetArray[i].ToString(); int ColorInt = Convert.ToInt32(Colorstr, 16); int[] pColorInt = new int[3]; pColorInt[0] = ColorInt % 256; pColorInt[1] = (ColorInt / 256) % 256; pColorInt[2] = (ColorInt / 65536) % 256; Levels.Item(i + 1).Line.Style = "Solid"; Levels.Item(i + 1).Line.Width = 0.02; Levels.Item(i + 1).Line.ForeColorRGBA.Red = pColorInt[2]; Levels.Item(i + 1).Line.ForeColorRGBA.Green = pColorInt[1]; Levels.Item(i + 1).Line.ForeColorRGBA.Blue = pColorInt[0]; Levels.Item(i + 1).Fill.ForeColor = Surfer.srfColor.srfColorBlack30; Levels.Item(i + 1).ShowLabel = true; } } //添加等值面 else { if (contourType == "降水量" && Convert.ToDouble(LevelSetArray[0].ToString()) == 0) { for (int i = 1; i < CustomLevels.Length - 1; i++) { CustomLevels[0] = -1; CustomLevels[1] = 0.9; CustomLevels[i + 1] = Convert.ToDouble(LevelSetArray[i]); } } else { for (int i = 0; i < CustomLevels.Length - 1; i++) { CustomLevels[0] = -10000; CustomLevels[i + 1] = Convert.ToDouble(LevelSetArray[i]); } } Surfer.ILevels Levels = ClassedCounterMap.Levels; Levels.Set(CustomLevels); for (int i = 0; i < CustomLevels.Length; i++) { // Levels.Item(i+1).Fill.ForeColor =(Surfer.srfColor) System.Drawing.ColorTranslator.FromHtml(ColorSetArray[i].ToString()); //转换成RGB颜色值 string Colorstr = ColorSetArray[i].ToString(); int ColorInt = Convert.ToInt32(Colorstr, 16); int[] pColorInt = new int[3]; pColorInt[0] = ColorInt % 256; pColorInt[1] = (ColorInt / 256) % 256; pColorInt[2] = (ColorInt / 65536) % 256; Levels.Item(i + 1).Fill.ForeColorRGBA.Red = pColorInt[2]; Levels.Item(i + 1).Fill.ForeColorRGBA.Green = pColorInt[1]; Levels.Item(i + 1).Fill.ForeColorRGBA.Blue = pColorInt[0]; //Levels.Item(i + 1).Line.Width = 0; Levels.Item(i + 1).Line.Style = "Invisible"; } //this.Close(); } /***************************添加ClassedPost气象站标注图层**********************************************************/ Surfer.IMapFrame mapframe1 = Doc.Shapes.AddClassedPostMap(DataFile, 1, 2, 5, 4); mapframe1.Axes.Item(1).Visible = false; mapframe1.Axes.Item(2).Visible = false; mapframe1.Axes.Item(3).Visible = false; mapframe1.Axes.Item(4).Visible = false; Surfer.IClassedPostMap ClassedpostMap = (Surfer.IClassedPostMap)mapframe1.Overlays.Item(1); ClassedpostMap.LabelPos = Surfer.SrfPostPosType.srfPostPosRight; ClassedpostMap.LabelFont.Face = "Arial"; ClassedpostMap.LabelFont.Size = 8; ClassedpostMap.LabelFont.Bold = true; ClassedpostMap.NumClasses = 2; ClassedpostMap.BinningMethod = Surfer.SrfPostBinMethod.srfPostUser; double[] binlimits = new double[4]; binlimits[0] = 0; binlimits[1] = 2; binlimits[2] = 2; binlimits[3] = 4; ClassedpostMap.SetBinLimits(binlimits); ClassedpostMap.get_BinSymbol(1).Set = "GSI Default Symbols"; ClassedpostMap.get_BinSymbol(1).Index = 11; ClassedpostMap.get_BinSymbol(1).Size = 0.2; ClassedpostMap.get_BinSymbol(2).Set = "GSI Default Symbols"; ClassedpostMap.get_BinSymbol(2).Index = 11; ClassedpostMap.get_BinSymbol(2).Size = 0.3; ClassedpostMap.SymFrequency = 1; /***************************添加ClassedPost Z值标注图层**********************************************************/ Surfer.IMapFrame mapframe2 = Doc.Shapes.AddClassedPostMap(DataFile, 1, 2, 6, 6); mapframe2.Visible = false; Surfer.IClassedPostMap ClassedpostMap2 = (Surfer.IClassedPostMap)mapframe2.Overlays.Item(1); ClassedpostMap2.LabelPos = Surfer.SrfPostPosType.srfPostPosAbove; ClassedpostMap2.LabelFont.Face = "Arial"; ClassedpostMap2.LabelFont.Size = 10; ClassedpostMap2.LabelFont.Bold = true; ClassedpostMap2.LabelFont.Color = Surfer.srfColor.srfColorRed; ClassedpostMap2.NumClasses = 1; ClassedpostMap2.get_BinSymbol(1).Set = "GSI Default Symbols"; ClassedpostMap2.get_BinSymbol(1).Index = 11; ClassedpostMap2.get_BinSymbol(1).Size = 0.2; //合并三个图层 Doc.Selection.DeselectAll(); mapframe.Selected = true; mapframe1.Selected = true; mapframe2.Selected = true; Doc.Selection.OverlayMaps(); //画一个矩形框覆盖掉乱码 Surfer.IRectangle rectangle = Doc.Shapes.AddRectangle(5.705, 6.35, 6.1, 6.6, 0, 0); rectangle.Visible = true; rectangle.Line.Style = "Invisible"; rectangle.Fill.Pattern = "Solid"; rectangle.Fill.ForeColor = Surfer.srfColor.srfColorWhite; } IntWidth = Convert.ToInt32(width); IntHeight = Convert.ToInt32(height); int IntHeight1 = IntHeight - 120; OutTempGraphic = strFolder + @"/temp.png"; Doc.Export(OutTempGraphic, false, "Defaults=1,width=" + IntWidth + ",height=" + IntHeight1 + ",KeepAspect=1,ColorDepth=24,Automatic=0,Quality=100"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { // AppSurfer.Documents.CloseAll(Surfer.SrfSaveTypes.srfSaveChangesNo); // AppSurfer.Quit(); } } public void ImageProcess() { try { IntWidth = Convert.ToInt32(width); IntHeight = Convert.ToInt32(height); myImage = System.Drawing.Image.FromFile(OutTempGraphic); Bitmap map = new Bitmap(myImage); int IntWidthLoc = IntWidth - map.Width - 80; Bitmap map1 = new Bitmap(IntWidth, IntHeight); Graphics g = Graphics.FromImage(map1); g.Clear(Color.White); g.DrawImage(map, new Rectangle(new Point(IntWidthLoc, 10), map.Size)); map1.Save(OutGrpahic); myImage.Dispose(); g.Dispose(); //删除临时图片 File.Delete(OutTempGraphic); MessageBox.Show("执行成功"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } } }
下面是book.bln文件的数据:
1020846.137,4457398.152,"L6001","石佛",1,114 1008330.993,4455436.611,"L6002","水源",1,105 1049324.754,4426520.399,"L6016","汤池",1,44 1053986.504,4431452.87,"L6017","三道岭水库",1,63 1070120.945,4423707.591,"L6019","建一",1,32 1016462.705,4458807.751,"L6003","沟沿",1,129 1028344.415,4460452.559,"L6004","旗口",1,124 1026349.04,4452082.806,"L6005","高坎",1,126 1042075.938,4443867.136,"L6006","官屯",1,96 1036219.429,4424696.779,"L6015","博洛埔",1,74 1065382.637,4416456.057,"L6020","黄土岭",1,38 1036738.347,4434818.211,"54475","大石桥",3,116 1031344.302,4432329.685,"L6010","柳树",1,123 1018630.558,4438735.785,"L6000","营口东",1,126 1027200.948,4441545.29,"L6007","边城",1,123 1019050.105,4430293.18,"L6009","二道",1,138 1010118.819,4435283.565,"54471","营口西",3,148 1049871.301,4415461.929,"L6036","高屯",1,40 1045459.484,4433900.261,"L6011","南楼",1,75 1072302.78,4414396.25,"L6021","吕王",1,49 1004195.428,4381554.378,"L6082","仙人岛",1,50 1003877.766,4372917.242,"L6053","归州",1,50 1018789.119,4378189.384,"L6047","陈屯",1,51 1033180.765,4402642.291,"L6038","徐屯",1,40 1014171.036,4386561.855,"L6042","红旗",1,82 1036684.526,4430261.309,"L6012","永安",1,144 1038564.327,4448414.61,"L6008","虎庄",1,101 1041760.482,4408809.517,"L6032","暖泉",1,46 1062673.031,4397062.885,"L6041","卧龙泉",1,68 1045474.259,4389810.204,"L6045","梁屯",1,91 1061545.975,4387594.874,"L6046","矿洞沟",1,27 1012945.221,4372476.737,"L6050","九寨",1,50 1033828.818,4420323.016,"L6030","青石岭",1,76 1053819.915,4414203.264,"L6031","榜式堡",1,82 1059831.038,4412699.687,"L6033","石门水库",1,37 1020072.554,4401576.829,"L6034","沙岗子",1,97 1038380.523,4414105.063,"L6035","团甸",1,37 1038337.122,4392538.403,"L6044","小石棚",1,86 1022698.468,4389230.024,"L6048","双台子",1,60 1048911.268,4381426.241,"L6049","万福",1,94 1045341.119,4372915.549,"L6051","什字街",1,104 1024474.195,4374569.302,"L6052","杨运",1,48 1028525.967,4411035.125,"54474","盖州市",3,49 1011952.531,4391441.975,"L6037","开发区",1,83 1016958.927,4392820.085,"L6040","芦屯",1,70 1015398.872,4380968.389,"54476","熊岳城",3,57 1016988.7,4407582.7,"L6083","团山",1,129
下面是省级行政区文件bln文件数据:
598,0 1008387.416433,4438183.4766848,0 1008338.8799605,4439243.5507968,0 1008335.2605811,4439938.3404868,0 1008329.934126,4440413.0276208,0 1008360.7487764,4440687.4508458,0 1008475.529602,4440991.2885215,0 1008662.4933684,4441394.2225966,0 1008952.1700182,4441497.5393444,0 1009266.5087835,4441426.5175657,0 1009693.9369494,4441262.7461472,0 1010255.421839,4440997.1135578,0 1010891.6222444,4440540.7825051,0 1011364.5361369,4440180.1449005,0 1011881.1318592,4439787.1852654,0 1012535.4906649,4439537.4834043,0 1013361.2723691,4439329.402958,0 1014143.7868157,4439316.4382213,0 1014855.9627031,4439360.3351331,0 1015772.3242463,4439444.3414005,0 1016503.7082125,4439539.7775193,0 1017097.1916347,4439921.8061293,0 1017675.2471945,4440340.1394387,0 1017877.0099168,4441007.1750885,0 1017905.9347546,4441598.0913063,0 1017756.1900643,4441990.2698322,0 1017488.1712975,4442372.0984201,0 1017143.3480942,4442584.7732284,0 1016675.3022364,4442682.8392606,0 1016168.1340416,4442678.9176003,0 1015373.6448434,4442326.2518775,0 1014486.2005803,4441804.7127952,0 1013674.8257699,4441453.1732874,0 1013009.6026792,4441336.2189023,0 1012444.4585462,4441527.0538475,0 1012182.1204947,4442030.7355974,0 1011944.0546908,4442690.0874335,0 1011794.2431486,4443395.9007231,0 1011751.112943,4444252.3716004,0 1011715.7650637,4444916.3606692,0 1011128.4675759,4445537.3475369,0 1010751.1911397,4445787.8716375,0 1010168.0724365,4446096.2896779,0 1009266.5985506,4446556.7631377,0 1008577.5195912,4446647.5193722,0 1007891.6692482,4446712.2733879,0 1006593.2615216,4447368.7568488,0 1006036.9365189,4447914.0296547,0 1005494.0059207,4448330.0075846,0 1004596.9461807,4448998.7383523,0 1003940.4747858,4449274.2399358,0 1003072.0019174,4449659.5382276,0 1002640.5133312,4450028.1746726,0 1002398.6695297,4450600.4367847,0 1002349.4900194,4450986.4141294,0 1002404.6770727,4451401.2147071,0 1002862.6951341,4451774.3014689,0 1003501.6957698,4452066.4020972,0 1004134.7309563,4452568.1376431,0 1004683.0194444,4453405.9990926,0 1004961.5295188,4453929.3383655,0 1005190.5334954,4454455.2799627,0 1005484.4334755,4454925.4603596,0 1005898.9387195,4455457.7478528,0 1006217.5966744,4455751.9128435,0 1006627.057327,4455831.7731295,0 1007232.9903645,4455777.5628463,0 1007668.5122816,4455604.3994631,0 1008472.3766638,4455368.6730884,0 1009082.527038,4455596.5548716,0 1009278.1967072,4456141.9482931,0 1009225.9557426,4456441.2302989,0 1008847.2764164,4456986.4538175,0 1008549.2537153,4457457.5033003,0 1008178.8717761,4458008.5336968,0 1007931.0472328,4458626.7121507,0 1007830.987209,4458998.5824167,0 1007879.0861534,4459291.5772342,0 1008111.8517249,4459556.1678517,0 1008566.8569511,4459529.01774,0 1009219.122915,4459402.6472919,0 1009819.451832,4459226.9800988,0 1010201.87451,4459116.365209,0 1010535.3351076,4459009.6899209,0 1010864.5108033,4458850.0245286,0 1011196.9631805,4458725.9019178,0 1011494.8034011,4458603.1476743,0 1011778.0004259,4458516.3200381,0 1012027.1028045,4458431.7869983,0 1012224.6001256,4458315.7205268,0 1012361.4713457,4458359.5497868,0 1012405.0940307,4458548.3922149,0 1012330.835758,4458761.6717363,0 1012212.248048,4459039.2841873,0 1012135.7518512,4459291.316147,0 1012297.9125316,4459460.5700626,0 1012654.986586,4459508.685449,0 1012927.8890376,4459561.5679733,0 1013184.4245843,4459633.2481213,0 1013664.9302005,4459761.3211496,0 1014126.8840826,4459889.7249399,0 1014610.6432304,4460104.5620655,0 1015022.393162,4460236.3310429,0 1015440.9549637,4460159.0646662,0 1015793.1381083,4460102.6286418,0 1016179.3197546,4460044.7941468,0 1016378.7578659,4459980.2421883,0 1016644.5923294,4459894.8921486,0 1017035.0465185,4459920.8962969,0 1017330.5638782,4460520.1653032,0 1017620.0270733,4460911.3866843,0 1018053.8923469,4461654.1156134,0 1018349.8794031,4462253.4888281,0 1018737.0535296,4462939.7034379,0 1018924.7090208,4463087.1323361,0 1019361.9351776,4463258.7491156,0 1019856.7378358,4463357.3400763,0 1020284.9626028,4463631.5422175,0 1020479.1247706,4463961.54668,0 1020664.8113388,4464395.0215577,0 1020611.0370998,4465101.3160023,0 1021179.5603736,4465752.209056,0 1022415.31064,4466517.8465485,0 1023252.5303001,4467246.3436612,0 1024156.9217592,4467799.0319261,0 1024886.0536115,4468335.045028,0 1025726.196139,4469037.310391,0 1026330.447891,4469302.3241226,0 1026678.0678313,4469620.5660117,0 1027477.4915659,4469955.3188535,0 1028581.1174559,4470526.685807,0 1029422.1684184,4470424.0352324,0 1029826.4156215,4470150.5599223,0 1030310.0709774,4470091.8497267,0 1031388.913477,4470141.7137623,0 1032252.4050155,4470326.724903,0 1032919.0845817,4470207.584938,0 1033352.9870987,4470144.491658,0 1033639.5575499,4470041.5157523,0 1033789.8801218,4469795.938006,0 1033778.8920397,4469378.9852015,0 1033739.715511,4468207.149221,0 1033488.3353763,4467144.2312988,0 1033250.2062737,4466732.3775617,0 1033082.4399109,4466379.314693,0 1033059.5171315,4466091.4175765,0 1033108.7085155,4465576.2220942,0 1033197.7977917,4465169.3111029,0 1033449.4287254,4464127.9188145,0 1033399.9386708,4463318.2638029,0 1033043.5500661,4462038.1798346,0 1033091.6015721,4460743.7023624,0 1033808.5902925,4460343.6887689,0 1034515.098247,4460072.5464576,0 1035442.7397443,4459588.2480248,0 1036462.9883183,4459190.3934469,0 1037068.5254274,4458649.8075677,0 1037508.0700441,4458275.6161382,0 1038083.017897,4457524.2522082,0 1038095.507602,4456590.4408827,0 1037977.6038982,4455722.5106642,0 1037374.8306658,4454652.5169973,0 1036855.8445985,4453227.4499022,0 1036724.9568268,4452747.5024677,0 1036684.9137518,4452120.2694559,0 1036770.2898729,4451738.8692066,0 1036990.2195205,4451551.531791,0 1037142.5574077,4451539.5948085,0 1038502.192572,4451537.5719557,0 1039460.7082841,4451523.8709434,0 1040366.1309879,4451530.866518,0 1041294.0325584,4451306.0804142,0 1042129.2936614,4450735.0523053,0 1042615.4458944,4450391.250044,0 1043111.9052277,4450463.6079853,0 1043566.5167272,4450713.775729,0 1044123.5104878,4450947.9575926,0 1046538.9568106,4450966.5521057,0 1047364.1584453,4451017.8540318,0 1047879.1813712,4450910.1893248,0 1048108.1277311,4450620.1124914,0 1048331.1936958,4450121.4215116,0 1048415.1221877,4449505.9693965,0 1048584.8800878,4449054.2593588,0 1048664.941892,4448204.3986371,0 1048793.540418,4447385.0488867,0 1048768.2036106,4446863.6451109,0 1048472.6342014,4446524.1921828,0 1048262.2888191,4446088.4690224,0 1047727.4637405,4445363.4460389,0 1046994.8572058,4444593.2233911,0 1046782.2986642,4444183.7374367,0 1046557.0628355,4443642.8836455,0 1046515.5917176,4443015.7135766,0 1046677.3043292,4442641.458535,0 1046980.2294177,4441838.2525253,0 1047374.4567287,4441407.7825916,0 1047874.8165358,4441168.8264622,0 1048273.9609834,4441205.9838596,0 1048651.7319513,4441475.2132172,0 1048856.9230743,4441702.4087905,0 1049615.8108577,4442448.8260076,0 1049896.8637414,4442942.6935603,0 1050652.9373053,4443195.4135451,0 1050977.3631954,4443225.737839,0 1051168.6877769,4442801.9594994,0 1051158.7683944,4442385.3474795,0 1050914.4419408,4441505.5348533,0 1050539.4216281,4440950.5379784,0 1050241.5939939,4440377.2433106,0 1049930.4586651,4439932.4583636,0 1049691.7926465,4439546.4440946,0 1049400.4560144,4438636.3662972,0 1049398.4236368,4437596.6671179,0 1049274.9893566,4436779.6945375,0 1048861.4467706,4435831.8665188,0 1048595.802427,4434923.8052216,0 1048605.0514772,4434560.8540492,0 1048941.0352537,4434202.7878843,0 1049375.1696947,4434139.3972486,0 1049664.564675,4434010.6308062,0 1049863.2297104,4433509.5880452,0 1050545.4307439,4432690.242622,0 1050684.2517297,4433612.5374469,0 1051126.4570144,4433991.6742726,0 1051655.3393622,4434249.1380021,0 1052316.9341994,4434440.7640489,0 1053151.1355898,4434934.5646983,0 1053792.6573186,4435072.5240636,0 1054578.2927096,4435016.3802586,0 1054787.7869497,4434931.768682,0 1055659.2561002,4434233.9359771,0 1056389.3404011,4433704.611235,0 1056840.4597089,4433461.0400489,0 1057247.3751506,4433421.45079,0 1057853.657385,4433659.7883687,0 1058267.8616456,4433802.2018363,0 1059021.8405938,4433561.3561182,0 1059570.4802414,4433352.6494473,0 1060175.1064134,4433330.9263158,0 1060662.8315008,4433246.8136717,0 1061620.744509,4433491.8413192,0 1062304.3400753,4433711.875117,0 1062835.5187156,4433683.4405096,0 1063331.3047159,4433235.8667674,0 1063772.3076694,4432835.4753681,0 1063816.0141096,4432631.8943057,0 1064214.5700732,4431629.9509269,0 1064716.4289498,4430845.4537551,0 1065051.8474785,4430227.3504325,0 1065863.4826047,4429107.9908153,0 1066479.3302853,4428983.5035794,0 1067412.1654221,4428966.7042236,0 1068108.4301364,4429057.7186315,0 1068392.4193254,4428980.0602569,0 1069203.1823967,4428925.8618295,0 1069789.2047077,4429109.90048,0 1070171.3189775,4429327.7443982,0 1070460.8768414,4429458.421514,0 1070726.4112269,4429846.9211084,0 1071158.568387,4430069.1756698,0 1071837.682422,4430340.2065475,0 1072593.6463226,4430592.251729,0 1073197.2748611,4430596.4912077,0 1073750.848152,4430336.3064883,0 1074089.7299385,4430212.1819033,0 1075003.7515936,4429595.434623,0 1075723.6177398,4428909.4596942,0 1076338.6573447,4428265.3620306,0 1076764.8756196,4428278.7073852,0 1078051.1819993,4427723.2277826,0 1078486.5833396,4427373.9625515,0 1078692.8894192,4426795.2868689,0 1078991.7209333,4426303.8953228,0 1079602.7266363,4425425.3648227,0 1080247.771807,4424991.6835357,0 1080679.1728862,4424694.0792442,0 1080976.8113037,4424461.8308188,0 1080480.0651893,4423870.1178652,0 1080126.4842151,4422823.9083739,0 1080234.7466395,4422210.6148033,0 1080476.0905713,4421791.5729383,0 1080722.3551998,4421320.6322669,0 1080847.8049709,4420786.8952914,0 1081075.3074613,4419716.7702279,0 1080956.3267428,4418848.6006723,0 1080670.7904995,4418406.285825,0 1080192.0531534,4417893.8565697,0 1079544.276355,4417547.7379798,0 1078412.3531513,4417287.0985833,0 1077912.7980508,4417240.6780885,0 1077496.3449621,4417123.9726156,0 1077113.6904343,4416906.1904436,0 1076941.2106369,4416604.3543,0 1076801.0044703,4416227.7130585,0 1076610.7051334,4414780.9809709,0 1076825.9054826,4414099.5553427,0 1077017.0022484,4413415.8387621,0 1077041.0770707,4412898.2877826,0 1077177.1708777,4412261.6458233,0 1077034.8835591,4411364.8848279,0 1077006.5535848,4410608.9881987,0 1076986.5240975,4410295.4144942,0 1076947.9647333,4409641.9704137,0 1076793.6829105,4408614.65247,0 1076246.6109416,4408018.0185706,0 1075744.2043227,4407477.6452013,0 1074987.2197489,4406965.2855255,0 1074440.7173734,4406628.5714558,0 1074123.2835124,4406261.4256739,0 1073977.9382959,4405935.8564174,0 1073835.2334246,4405585.0124763,0 1073743.9915079,4404952.9562457,0 1073552.3176943,4404597.4685634,0 1073470.6488772,4403862.0019235,0 1073419.9703628,4403337.728404,0 1073376.1340045,4402736.1748931,0 1073300.4378309,4401949.3697817,0 1073223.1240821,4400903.0819442,0 1073132.1141368,4400010.9166605,0 1073085.7553374,4399694.7927072,0 1073118.3892042,4399360.2960761,0 1073204.820979,4398978.5203854,0 1073674.2931318,4398009.1050213,0 1073931.8156806,4397149.7416089,0 1074339.8585602,4396563.6339878,0 1074845.6865837,4396013.3085795,0 1075056.8759072,4395643.4576543,0 1075513.1641355,4394802.2116349,0 1075673.8997776,4394167.7922115,0 1075821.791038,4393947.7798204,0 1075699.863645,4393104.9068847,0 1075614.6979646,4392681.1815965,0 1075144.1020306,4392065.5936213,0 1074748.5302822,4391457.2123738,0 1074371.2503594,4390668.3877004,0 1074033.0310411,4389727.4471971,0 1073811.1031736,4388615.3387414,0 1073561.0486271,4387812.7267182,0 1073514.4895528,4386976.6657349,0 1073451.849684,4386581.0927282,0 1073414.3952847,4385382.242414,0 1073338.3311443,4384336.0269834,0 1073314.4263901,4383528.0931187,0 1073113.5818776,4382989.4587218,0 1072796.9143092,4382622.1066788,0 1072049.9281503,4382006.8953404,0 1071446.9284033,4381742.7116852,0 1071194.5625363,4381485.412468,0 1070674.3355084,4381124.7549389,0 1069868.6738241,4380347.9792993,0 1068979.1092401,4380447.3067551,0 1068567.898237,4380798.4181058,0 1068102.2910344,4380937.0791933,0 1067519.2098666,4380986.7411088,0 1067267.3695461,4380988.9239461,0 1066181.4041275,4380497.695918,0 1065435.80477,4379882.4682999,0 1064686.7902016,4379292.936455,0 1064199.713947,4378597.3962543,0 1063816.6378206,4377860.1342648,0 1063526.8434483,4377209.6034187,0 1063286.210478,4376823.3786606,0 1063046.8767029,4376436.8958684,0 1062081.7547303,4376008.7527867,0 1061104.525413,4375709.4588607,0 1060101.1010047,4375407.7945922,0 1059283.6356556,4375019.3649369,0 1058309.5656593,4374694.3391899,0 1057550.7009309,4374467.3273974,0 1056587.8331833,4374013.679062,0 1055226.7557669,4373781.9902357,0 1054351.3520784,4373466.1540518,0 1053350.8838571,4373138.8165389,0 1052151.4550906,4372792.3528521,0 1051540.9040007,4372605.2189279,0 1051044.2109777,4372532.4803727,0 1050466.2824209,4372530.2077762,0 1049856.1971703,4372603.348167,0 1049597.0072571,4372682.8818478,0 1048793.4650628,4372399.3715803,0 1048491.7793741,4372137.4827561,0 1048334.1836804,4371680.6952336,0 1048283.8802899,4371156.3249864,0 1048234.2823129,4370621.1889184,0 1048680.8396057,4370153.7556735,0 1049100.7145057,4369179.7122356,0 1049370.4721112,4368997.2798726,0 1049551.3022649,4368676.3424945,0 1049412.506442,4368559.2913842,0 1049005.3009131,4368339.1463433,0 1048413.3885676,4368205.8882247,0 1048319.7533303,4368144.9514713,0 1048286.4082752,4367440.3590236,0 1047921.7260701,4367042.0006981,0 1047702.3048877,4366709.8253831,0 1046860.1037399,4365925.8286337,0 1048406.5553916,4365753.9457937,0 1049244.6560849,4365571.9094261,0 1049990.8178976,4365819.4447107,0 1050781.5540916,4364480.4161675,0 1050521.7946746,4362990.5961524,0 1051091.9482597,4363272.7437966,0 1051266.1508512,4363294.877421,0 1051525.6025088,4362651.3118873,0 1051381.252662,4362007.6691386,0 1051254.587888,4361626.3837451,0 1051517.3160842,4360957.1669619,0 1051624.1779366,4360787.4962752,0 1050863.1854437,4359869.2551855,0 1050359.72601,4359685.9339533,0 1049857.0333564,4359659.5003433,0 1049264.540988,4359566.5659899,0 1048723.2970054,4359298.6625884,0 1048051.4822671,4358566.1495082,0 1046882.0499943,4358435.1099369,0 1046666.6925303,4358349.2593486,0 1046091.9625045,4358468.0987973,0 1045422.5032839,4358702.6670068,0 1044683.6865257,4359057.0517953,0 1043474.2209071,4359834.0936444,0 1042406.9226113,4360346.0979059,0 1041117.3988383,4360823.312221,0 1039857.657937,4361435.1271192,0 1038742.7400225,4361599.8755952,0 1037515.5527132,4361511.9110327,0 1036195.1695951,4361043.8799,0 1035016.3659784,4360806.5010728,0 1034497.303892,4361378.0227784,0 1033699.3372564,4362114.8451782,0 1032835.6374658,4362293.068831,0 1032246.6589867,4362174.4243404,0 1031465.9934566,4361816.6133003,0 1030447.1491626,4361369.3157597,0 1029717.9550205,4360679.938973,0 1029062.2036358,4359845.6687158,0 1028882.9678534,4359053.3155748,0 1028349.5292397,4359707.6063191,0 1028082.7318291,4359796.4395094,0 1027635.3241234,4360065.5679082,0 1027175.8513273,4360411.3516356,0 1026716.7927927,4361253.7803916,0 1026339.4549658,4362213.5674753,0 1026343.9920336,4362978.5131559,0 1026537.594727,4363379.7315371,0 1026583.550435,4363935.3888759,0 1026447.5683476,4364204.12622,0 1026135.8263811,4364448.4554223,0 1025707.163481,4365016.4208989,0 1025139.6156945,4365669.1844186,0 1024732.0942004,4365692.471635,0 1024448.3953618,4365367.3876152,0 1024206.5609526,4364917.7207859,0 1023482.9301959,4364298.1925445,0 1022934.4371126,4364067.5860582,0 1022704.0037497,4363905.8468682,0 1022038.0625541,4363789.6932693,0 1021808.2631853,4363810.7858096,0 1021274.3949721,4363842.9522756,0 1020851.046886,4363994.256661,0 1020151.7783325,4364499.1251135,0 1019533.8163803,4364962.8473309,0 1018776.4660862,4365720.6148752,0 1018204.2523007,4366034.2401034,0 1017542.5114876,4366257.8958621,0 1016909.2732156,4366276.3552193,0 1016038.6380325,4366184.5386458,0 1015325.6930005,4366426.8058568,0 1014586.1550175,4366665.4312816,0 1013942.3261681,4366760.4901412,0 1013429.7887628,4366821.3449603,0 1012814.5042089,4366894.38135,0 1012242.6802635,4367207.9845166,0 1011677.3960448,4367653.0393747,0 1011233.4152033,4368140.2963017,0 1010939.8843897,4368257.1506441,0 1010296.2984991,4368352.0624483,0 1009939.5311134,4368564.4988661,0 1009642.3209241,4368706.54658,0 1009438.7729714,4368731.1608103,0 1008421.4474142,4368317.1548298,0 1007725.0073304,4368042.1871163,0 1005725.1671736,4367307.0831723,0 1004950.6326345,4366474.4109554,0 1003525.3810635,4366362.958248,0 1002704.1237242,4367035.6741176,0 1002067.4513566,4368984.7396928,0 1002084.460503,4369115.6640604,0 1002449.862927,4369552.626131,0 1002544.6800895,4369839.2057434,0 1002596.9386594,4370253.3927615,0 1002474.1292383,4370601.6563683,0 1002213.3239317,4371035.5814746,0 1001903.0513508,4371463.0795527,0 1001624.4811587,4371841.9275675,0 1001445.3827662,4372235.0030664,0 1001142.5032255,4372793.5707575,0 1000889.1075059,4373348.1570097,0 1001612.1380775,4373427.0892655,0 1002871.2857053,4373856.1910373,0 1003432.7529859,4374766.5110048,0 1003623.5065898,4375418.3665468,0 1004246.4456132,4376441.2233385,0 1004365.1439344,4377266.1348486,0 1004365.1413884,4377266.1451111,0 1004365.1426732,4377266.15404,0 1004039.2538208,4378579.7734439,0 1003730.2760391,4377285.7296262,0 1003423.4211806,4379593.4843721,0 1001561.8915816,4380284.1969214,0 1001684.178113,4381266.0590266,0 1003674.1879839,4381714.7165142,0 1005819.7373613,4382497.379992,0 1006473.773336,4383289.0908273,0 1007348.3919721,4383163.6712741,0 1007456.2646986,4384072.7954951,0 1007796.8943202,4384561.7144604,0 1008874.317499,4385593.2419319,0 1009817.5741955,4386867.1076309,0 1010117.0178799,4387663.9341106,0 1010646.9246798,4388621.7791043,0 1010995.2711709,4389999.5361422,0 1010995.2698965,4389999.5553622,0 1010894.3488309,4391525.7051482,0 1010962.5436179,4392343.6824475,0 1010962.540908,4392343.6844657,0 1010962.5423426,4392343.7016733,0 1009952.0509024,4393096.2664687,0 1009629.5847678,4394201.2896934,0 1009699.5708261,4394810.7506854,0 1009715.9881585,4395831.0300609,0 1011697.2837128,4397295.3753602,0 1012822.3551076,4397967.2647275,0 1013180.9435175,4398693.8400937,0 1014039.6193283,4399277.6279041,0 1014651.4838582,4399850.6344659,0 1014717.2808998,4400464.0016395,0 1015696.9234956,4401273.3294895,0 1015772.5822221,4402040.2192532,0 1016784.8817051,4402801.2323864,0 1016784.8796589,4402801.2510644,0 1016784.8804184,4402801.2516353,0 1016663.7477075,4403906.996005,0 1017335.4252292,4405327.1987099,0 1017335.4232172,4405327.2164351,0 1017335.4239408,4405327.2179649,0 1017183.7014223,4406663.9045704,0 1016162.2484911,4409215.5262199,0 1017097.104738,4409992.2540086,0 1017960.5274758,4409768.0142449,0 1017327.975374,4409396.9177745,0 1017328.0233044,4409396.9258716,0 1017327.9766641,4409396.8985094,0 1018787.3279596,4409643.4347213,0 1019828.985926,4409867.5168026,0 1019838.3579663,4410879.1936783,0 1020022.3464568,4411279.4849844,0 1020132.6354261,4411518.3477317,0 1020352.9782594,4412721.9328084,0 1021262.5094547,4413495.2042815,0 1021946.360502,4413873.4719314,0 1022135.3714538,4414469.263069,0 1022232.4115311,4414772.465464,0 1022735.4079757,4414865.3918222,0 1022864.11304,4415352.1736292,0 1022864.1075347,4415352.1769986,0 1022864.1117407,4415352.1929062,0 1021568.4473608,4416145.1922556,0 1021653.6893062,4417982.8173589,0 1022688.8781779,4418198.7775325,0 1022688.8705874,4418198.7955044,0 1022688.8768777,4418198.7968166,0 1022208.8783456,4419335.2710809,0 1021049.3216994,4420642.3767228,0 1020562.941433,4421770.7077711,0 1019576.1313755,4422403.062781,0 1018502.4831629,4423251.204235,0 1018016.2316328,4423865.0918083,0 1017175.762817,4424483.7013075,0 1016233.5562814,4425480.2147496,0 1014705.8886732,4425928.9754517,0 1014290.3997066,4426969.0645793,0 1012906.3937591,4427097.934337,0 1012274.03105,4427665.8309022,0 1011624.0993273,4428179.5438084,0 1010815.6522996,4428358.8596156,0 1009928.3904509,4428944.9571846,0 1008954.8760388,4429988.9717757,0 1008448.1755294,4431330.2607168,0 1008990.0642771,4432394.0389173,0 1009123.4465944,4432724.9040676,0 1009354.284463,4433459.8606653,0 1009691.2753844,4434548.37396,0 1009906.6795239,4435594.6044396,0 1010117.9443241,4437058.0115589,0 1010117.9411278,4437058.0177108,0 1010117.9430313,4437058.0308961,0 1009573.0025348,4438106.8892415,0 1008387.416433,4438183.4766848,0
呵呵,就这些了!