private void Form1_Load(object sender, EventArgs e) { string connectionStr = "server=127.0.0.1;user id=root;password=newpassword;database=gzuguide"; connection_ = new MySqlConnection(connectionStr); connection_.Open(); string StopSql = "select BSName from busstops where Note =" + 1; MySqlDataAdapter stopad = new MySqlDataAdapter(StopSql, connection_); DataTable stopTable = new DataTable(); stopad.Fill(stopTable); string addName; for (int i = 0; i < stopTable.Rows.Count; i++) { addName = stopTable.Rows[i][0].ToString(); comboBox1.Items.Add(addName); comboBox2.Items.Add(addName); } MapWinGIS.Shapefile shpfile1 = new MapWinGIS.Shapefile(); MapWinGIS.Shapefile shpfile2 = new MapWinGIS.Shapefile(); int intHandler1; int intHandler2; string filename = "G:\\#导航设计\\广州大学城矢量地图\\广州大学城全要素地图\\广州大学城全要素地图\\道路\\boundary.shp"; string filename2 = "G:\\#导航设计\\广州大学城矢量地图\\广州大学城全要素地图\\广州大学城全要素地图\\dxc_vector\\dxc_vector\\road"; shpfile1.Open(filename, null); shpfile2.Open(filename2, null); intHandler1 = axMap1.AddLayer(shpfile1, true); intHandler2 = axMap1.AddLayer(shpfile2, true); axMap1.CursorMode = MapWinGIS.tkCursorMode.cmPan; }
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openshp = new OpenFileDialog(); MapWinGIS.Shapefile shpfile1 = new MapWinGIS.Shapefile(); openshp.Filter = "shp文件|*.shp"; openshp.RestoreDirectory = true; int intHandler1; if (openshp.ShowDialog() == DialogResult.OK) { shpfile1.Open(openshp.FileName, null); intHandler1 = axMap1.AddLayer(shpfile1, true); } }
private void SetLocationMap_Load(object sender, EventArgs e) { idleTimer = DateTime.Now; Timer1.Start(); Timer1.Interval = 5000; int intHandler1; MapWinGIS.Shapefile shapefile1 = new MapWinGIS.Shapefile(); shapefile1.Open("..\\..\\shapefiles\\Form.shp"); intHandler1 = axMap1.AddLayer(shapefile1, true); int intHandler2; MapWinGIS.Shapefile shapefile2 = new MapWinGIS.Shapefile(); shapefile2.Open("..\\..\\shapefiles\\gang.shp"); intHandler2 = axMap1.AddLayer(shapefile2, true); int intHandler7; MapWinGIS.Shapefile shapefile7 = new MapWinGIS.Shapefile(); shapefile7.Open("..\\..\\shapefiles\\Stairs.shp"); intHandler7 = axMap1.AddLayer(shapefile7, true); int intHandler6; MapWinGIS.Shapefile shapefile6 = new MapWinGIS.Shapefile(); shapefile6.Open("..\\..\\shapefiles\\Shape .shp"); string myLabel; //define two double variables to use as a coordinates for label position double x, y; for (int i = 0; i < shapefile6.NumShapes - 1; i++) { //assign the value of the cells of the field number zero to the label myLabel = System.Convert.ToString( shapefile6.get_CellValue(1, i)); //Calculate the x position for the label x = shapefile6.get_Shape(i).Extents.xMin + (shapefile6.get_Shape(i).Extents.xMax - shapefile6.get_Shape(i).Extents.xMin) / 2; //Calculate the y position for the label y = shapefile6.get_Shape(i).Extents.yMin + (shapefile6.get_Shape(i).Extents.yMax - shapefile6.get_Shape(i).Extents.yMin) / 2; shapefile6.Labels.AddLabel(myLabel, x, y, 0, -1); } intHandler6 = axMap1.AddLayer(shapefile6, true); int intHandler3; MapWinGIS.Shapefile shapefile3 = new MapWinGIS.Shapefile(); shapefile3.Open("..\\..\\shapefiles\\Indgang.shp"); intHandler3 = axMap1.AddLayer(shapefile3, true); int intHandler8; MapWinGIS.Shapefile shapefile8 = new MapWinGIS.Shapefile(); shapefile8.Open("..\\..\\shapefiles\\WC.shp"); intHandler8 = axMap1.AddLayer(shapefile8, true); int intHandler4; MapWinGIS.Shapefile shapefile4 = new MapWinGIS.Shapefile(); shapefile4.Open("..\\..\\shapefiles\\navlines.shp"); intHandler4 = axMap1.AddLayer(shapefile4, false); int intHandler5; MapWinGIS.Shapefile shapefile5 = new MapWinGIS.Shapefile(); shapefile5.Open("..\\..\\shapefiles\\navnodes.shp"); intHandler5 = axMap1.AddLayer(shapefile5, true); axMap1.SendMouseDown = true; axMap1.MouseDownEvent += axMap1_MouseDownEvent; axMap1.CursorMode = tkCursorMode.cmNone; if (File.Exists("..\\..\\devloc.txt")) { Loc = Convert.ToInt32(File.ReadAllText("..\\..\\devloc.txt")); } }
/// <summary> /// 'Copyright (C) 2008 Enrico Antonio Chiaradia, UNIMI ///'This program is free software; you can redistribute it and/or ///'modify it under the terms of the GNU General Public License ///'version 2, 1991 as published by the Free Software Foundation. ///'This program is distributed in the hope that it will be useful, ///'but WITHOUT ANY WARRANTY; without even the implied warranty of ///'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ///'GNU General Public License for more details. ///'A copy of the full GNU General Public License is available at: ///'http://www.gnu.org/copyleft/gpl.html ///'or from: ///'The Free Software Foundation, Inc., 59 Temple Place - Suite 330, ///'Boston, MA 02111-1307, USA. ///'If you wish to use or incorporate this program (or parts of it) into ///'other software that does not meet the GNU General Public License ///'conditions contact the author to request permission. ///'If you have any question or suggestion, please contact the author. ///'Enrico A. Chiaradia ///'University of Milan ///'Ist. di Idraulica Agraria ///'via Celoria 2 ///'20133, Milan, Italy ///'email: [email protected] /// </summary> /// <param name="sfPath">the name of the shapefile</param> /// <param name="resultGridPath">the name of the new grid</param> /// <param name="gridFileType">file type of the new grid</param> /// <param name="gridDataType">data format of the new grid</param> /// <param name="sfValueField">the name of the field that contains data</param> /// <param name="resultGridHeader">contains information about dimension of the new grid</param> /// <param name="callback">(optional) reports progress and error messages</param> /// <returns></returns> public bool ShapefileToGrid2(string SfNm, string GrdName, MapWinGIS.GridFileType GrdFileType, MapWinGIS.GridDataType GrdDataType, string Fldname, MapWinGIS.GridHeader GrdHd, MapWinGIS.ICallback cback) { int i; bool flg; string projStr; //open the shapefile MapWinGIS.Shapefile MySf = new MapWinGIS.Shapefile(); flg = MySf.Open(SfNm, cback); if (flg == false) { reportError("ERROR in opening shapefile: " + SfNm, cback); MySf.Close(); return false; } //get the handle for the field MapWinGIS.Field field; int FldId = -1; int LayFldNum = MySf.NumFields; i = 0; for (i = 0; i < LayFldNum; ++i) { field = MySf.get_Field(i); if (field.Name.ToLower() == Fldname.ToLower()) { FldId = i; break; } } if (FldId < 0) { reportError("The shapefile " + SfNm + " doesn't have a field " + Fldname, cback); MySf.Close(); return false; } //copy shapefile projection projStr = MySf.Projection; if (!MapWinUtility.Strings.IsEmpty(projStr)) { GrdHd.Projection = projStr; } //create a new grid and a new gridheader MapWinGIS.Grid NewGrd = new MapWinGIS.Grid(); flg = NewGrd.CreateNew(GrdName, GrdHd, GrdDataType, GrdHd.NodataValue, false, GrdFileType, cback); if (flg == false) { reportError("ERROR in grid initialization: " + GrdName, cback); NewGrd.Close(); MySf.Close(); } //verify the type of shapefile and call rasterization function MapWinGIS.ShpfileType SfType = new MapWinGIS.ShpfileType(); SfType = MySf.ShapefileType; switch (SfType) { case ShpfileType.SHP_POLYGON: case ShpfileType.SHP_POLYGONM: case ShpfileType.SHP_POLYGONZ: flg = Poly2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; case ShpfileType.SHP_POLYLINE: case ShpfileType.SHP_POLYLINEM: case ShpfileType.SHP_POLYLINEZ: flg = Line2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; case ShpfileType.SHP_POINT: case ShpfileType.SHP_POINTM: case ShpfileType.SHP_POINTZ: flg = Point2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; case ShpfileType.SHP_MULTIPOINT: case ShpfileType.SHP_MULTIPOINTM: case ShpfileType.SHP_MULTIPOINTZ: flg = Multipoint2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; default: reportError("The shapefile type " + SfType.ToString() + "is not supported.", cback); NewGrd.Close(); MySf.Close(); flg = false; break; } //save and close the grid, close shapefile NewGrd.Save(GrdName, GrdFileType, cback); NewGrd.Close(); MySf.Close(); return flg; }
/// <summary> /// 'Copyright (C) 2008 Enrico Antonio Chiaradia, UNIMI ///'This program is free software; you can redistribute it and/or ///'modify it under the terms of the GNU General Public License ///'version 2, 1991 as published by the Free Software Foundation. ///'This program is distributed in the hope that it will be useful, ///'but WITHOUT ANY WARRANTY; without even the implied warranty of ///'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ///'GNU General Public License for more details. ///'A copy of the full GNU General Public License is available at: ///'http://www.gnu.org/copyleft/gpl.html ///'or from: ///'The Free Software Foundation, Inc., 59 Temple Place - Suite 330, ///'Boston, MA 02111-1307, USA. ///'If you wish to use or incorporate this program (or parts of it) into ///'other software that does not meet the GNU General Public License ///'conditions contact the author to request permission. ///'If you have any question or suggestion, please contact the author. ///'Enrico A. Chiaradia ///'University of Milan ///'Ist. di Idraulica Agraria ///'via Celoria 2 ///'20133, Milan, Italy ///'email: [email protected] /// </summary> /// <param name="sfPath">the name of the shapefile</param> /// <param name="resultGridPath">the name of the new grid</param> /// <param name="gridFileType">file type of the new grid</param> /// <param name="gridDataType">data format of the new grid</param> /// <param name="sfValueField">the name of the field that contains data</param> /// <param name="resultGridHeader">contains information about dimension of the new grid</param> /// <param name="callback">(optional) reports progress and error messages</param> /// <returns></returns> public bool ShapefileToGrid2(string SfNm, string GrdName, MapWinGIS.GridFileType GrdFileType, MapWinGIS.GridDataType GrdDataType, string Fldname, MapWinGIS.GridHeader GrdHd, MapWinGIS.ICallback cback) { int i; bool flg; string projStr; //open the shapefile MapWinGIS.Shapefile MySf = new MapWinGIS.Shapefile(); flg = MySf.Open(SfNm, cback); if (flg == false) { reportError("ERROR in opening shapefile: " + SfNm, cback); MySf.Close(); return(false); } //get the handle for the field MapWinGIS.Field field; int FldId = -1; int LayFldNum = MySf.NumFields; i = 0; for (i = 0; i < LayFldNum; ++i) { field = MySf.get_Field(i); if (field.Name.ToLower() == Fldname.ToLower()) { FldId = i; break; } } if (FldId < 0) { reportError("The shapefile " + SfNm + " doesn't have a field " + Fldname, cback); MySf.Close(); return(false); } //copy shapefile projection projStr = MySf.Projection; if (!MapWinUtility.Strings.IsEmpty(projStr)) { GrdHd.Projection = projStr; } //create a new grid and a new gridheader MapWinGIS.Grid NewGrd = new MapWinGIS.Grid(); flg = NewGrd.CreateNew(GrdName, GrdHd, GrdDataType, GrdHd.NodataValue, false, GrdFileType, cback); if (flg == false) { reportError("ERROR in grid initialization: " + GrdName, cback); NewGrd.Close(); MySf.Close(); } //verify the type of shapefile and call rasterization function MapWinGIS.ShpfileType SfType = new MapWinGIS.ShpfileType(); SfType = MySf.ShapefileType; switch (SfType) { case ShpfileType.SHP_POLYGON: case ShpfileType.SHP_POLYGONM: case ShpfileType.SHP_POLYGONZ: flg = Poly2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; case ShpfileType.SHP_POLYLINE: case ShpfileType.SHP_POLYLINEM: case ShpfileType.SHP_POLYLINEZ: flg = Line2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; case ShpfileType.SHP_POINT: case ShpfileType.SHP_POINTM: case ShpfileType.SHP_POINTZ: flg = Point2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; case ShpfileType.SHP_MULTIPOINT: case ShpfileType.SHP_MULTIPOINTM: case ShpfileType.SHP_MULTIPOINTZ: flg = Multipoint2Grid(MySf, FldId, NewGrd, GrdHd, GrdDataType, cback); break; default: reportError("The shapefile type " + SfType.ToString() + "is not supported.", cback); NewGrd.Close(); MySf.Close(); flg = false; break; } //save and close the grid, close shapefile NewGrd.Save(GrdName, GrdFileType, cback); NewGrd.Close(); MySf.Close(); return(flg); }