Today we're going to talk about a couple of things that don't have much to do with, and if someone has a unique perspective on these issues, or if they already know about the technology, then please put it in the comments for your discussion, so let's explore it.
One, these days busy testing and modifying the GIS system, found a number of bugs at the same time also has a new demand, not only changed the interface style and layout and the code also has little change, the map changes the most, need to add raster map (too scary, a grid diagram unexpectedly has 1.3G), how to load it? Because this GIS system is b/s structure, and the function is also not small, in addition to raster map there are many layers of vector graphics, and provide layer data and database data mutual check function, so very worried about loading and display raster map will be very slow, or cause the server panic, but today found that the past seems to have some "unfounded , raster graphs can be loaded and displayed successfully. The specific contents are as follows:
1, want to know whether the grid map can be loaded, need to understand the working principle of arcims, the knowledge of this series of essays in the previous several essays have also been discussed, the following simple explanation: Mapnet control is interpreted arcims return arcxml documents, and the virtual path is used to load the arcims images that are generated according to the request. ArcIMS Graphics services can produce a type of picture with *. JPG, *. JPEG, *. Png-8bit, *. Png-24bit, *. GIF (requires a special serial number or registration file).
2, it is because of this working principle, although the entire map of the grid map file is very large, but ArcIMS will itself to deal with the generated picture file size, and will not produce a picture of G on the B/s program and network transmission it. After my test to prove that arcims really control the size of the transfer file, and then added a raster map, the picture file is not as big as imagined, so there is no need to cut the grid map file, which makes me very happy. (<!--the size, minimum, and maximum file size of a picture file with a raster chart; picture size is for reference only)
Second, there is a problem with the Mapnet control, the Mapnet control has a function Myil.recordset (MyISQ2, True, False, MYIGF) to obtain the layer data, but this function loads up to 2000 data. Finally, a dataset dataset is generated, which means that the No. 0 table of the dataset has up to 2000 data, But the Mapnet control gives us an object's property myisq2.where to query for one or some of the elements on the desired layer, which can be used with SQL statements, and the following code fragment:
The following are the referenced contents: 1Using System; 2using System.Collections; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using system.web; 7using System.Web.SessionState; 8using System.Web.UI; 9using System.Web.UI.WebControls; 10using System.Web.UI.HtmlControls; 11using Gongansys.class; 12using Studioat.ims; 13using studioat; 14using System.Xml; 15 16. ... 17 private void Mapnet1_load (object sender, System.EventArgs e) 19 { Imapnet myimapnet = MapNet1; Icollectionlayers myicl = myimapnet.collectionlayers; Igetfeatures MYIGF = null; Isimplemarkersymbol myisms = new Simplemarkersymbolproperty (); Imapnetacetateobjects Myimnao = (imapnetacetateobjects) myimapnet; Myimnao.clear (); Iobjectacetatelayer Myioal; IPoint myIP1; Try 29 { Ilayer Myil = (ilayer) Myicl.findbyid (session["Layerid"]. ToString ()); ISpatialQuery2 myISQ2 = new Spatialquery (); String columnsname = "gis_id"; Myisq2.where = columnsname + "= '" + session["gis_id"]. ToString () + "'"; DataSet ds = Myil.recordset (MyISQ2, True, false, MYIGF);//read data from layer km INT dscount = ds. Tables[0]. Rows.Count; 36. ... 37} Catch 39 { 40. ... 41} 42} 43 44. ... 45 46 |