| | |
| | | meta.name = args.name; |
| | | |
| | | SysPublish sys = Tools.NewPublish(meta, args, GetReleaseUrl(args.dircode), "3d\\terrain\\" + args.dircode); |
| | | sys.geom = GetPointZ(args); |
| | | |
| | | int pubid = PubDBHelper.InsertPublish(sys); |
| | | if (pubid > 0) |
| | |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取中心点 |
| | | /// </summary> |
| | | private static string GetPointZ(XYZArgs args) |
| | | { |
| | | string dirPath = GetTerrainPath(args.dircode); |
| | | string txtFile = Path.Combine(dirPath, args.dircode + "_cs.txt"); |
| | | if (!File.Exists(txtFile)) return null; |
| | | |
| | | string[] strs = File.ReadAllLines(txtFile, Encoding.UTF8); |
| | | File.Delete(txtFile); |
| | | |
| | | if (null == strs || strs.Length == 0) return null; |
| | | string[] str = strs[0].Split(new string[] { ", " }, StringSplitOptions.None); |
| | | |
| | | int i = 18; |
| | | for (; i > -1; i--) |
| | | { |
| | | string path = Path.Combine(dirPath, i.ToString()); |
| | | if (Directory.Exists(path)) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return string.Format("ST_GeomFromText('POINT Z ({0} {1} {2})')", str[1], str[0], i); |
| | | } |
| | | } |
| | | } |