private void btnSinglePlot_Click(object sender, EventArgs e) { MgdMap map = (MgdMap)_viewer.GetMap(); MgMapViewerProvider provider = _viewer.GetProvider(); MgdMappingService mappingSvc = (MgdMappingService)provider.CreateService(MgServiceType.MappingService); MgResourceIdentifier layoutId = new MgResourceIdentifier("Library://Samples/Sheboygan/Layouts/SheboyganMap.PrintLayout"); using (SaveFileDialog save = new SaveFileDialog()) { save.Filter = "DWF Files (*.dwf)|*.dwf"; if (save.ShowDialog() == DialogResult.OK) { MgdDwfVersion dwfVer = new MgdDwfVersion("6.01", "1.2"); MgdLayout layout = new MgdLayout(layoutId, "City of Sheboygan", MgdPageUnitsType.Inches); MgdPlotSpecification plotSpec = new MgdPlotSpecification(8.5f, 11.0f, MgdPageUnitsType.Inches, 0.5f, 0.5f, 0.5f, 0.5f); MgByteReader result = mappingSvc.GeneratePlot(map, plotSpec, layout, dwfVer); MgByteSink sink = new MgByteSink(result); sink.ToFile(save.FileName); MessageBox.Show("Saved to " + save.FileName); } } }
public override void Invoke() { var diag = new ResourceIdDialog(); if (diag.ShowDialog() == DialogResult.OK) { var layoutId = diag.ResourceID; using (var save = new SaveFileDialog()) { save.Filter = "DWF Files (*.dwf)|*.dwf"; if (save.ShowDialog() == DialogResult.OK) { var mappingSvc = (MgdMappingService)this.Viewer.GetProvider().CreateService(MgServiceType.MappingService); var map = (MgdMap)this.Viewer.GetMap(); var dwfVer = new MgdDwfVersion("6.01", "1.2"); var layout = new MgdLayout(layoutId, "TestPlot", MgdPageUnitsType.Inches); var plotSpec = new MgdPlotSpecification(8.5f, 11.0f, MgdPageUnitsType.Inches, 0.5f, 0.5f, 0.5f, 0.5f); var result = mappingSvc.GeneratePlot(map, plotSpec, layout, dwfVer); var sink = new MgByteSink(result); sink.ToFile(save.FileName); MessageBox.Show("Saved to " + save.FileName); } } } }
private void plotToDwfComponent_Invoked(object sender, EventArgs e) { var diag = new ResourceIdDialog(); if (diag.ShowDialog() == DialogResult.OK) { var layoutId = diag.ResourceID; using (var save = new SaveFileDialog()) { save.Filter = "DWF Files (*.dwf)|*.dwf"; if (save.ShowDialog() == DialogResult.OK) { var mappingSvc = (MgdMappingService)mapViewer.GetProvider().CreateService(MgServiceType.MappingService); var map = (MgdMap)mapViewer.GetMap(); var dwfVer = new MgdDwfVersion("6.01", "1.2"); var layout = new MgdLayout(layoutId, "TestPlot", MgdPageUnitsType.Inches); var plotSpec = new MgdPlotSpecification(8.5f, 11.0f, MgdPageUnitsType.Inches, 0.5f, 0.5f, 0.5f, 0.5f); var result = mappingSvc.GeneratePlot(map, plotSpec, layout, dwfVer); var sink = new MgByteSink(result); sink.ToFile(save.FileName); MessageBox.Show("Saved to " + save.FileName); } } } }
private void CheckValidImage(MgByteReader img, int?imageWidth = null, int?imageHeight = null, string format = null) { try { MgByteSink sink = new MgByteSink(img); sink.ToFile("tile.img"); using (Image image = Image.FromFile("tile.img")) { Assert.IsNotNull(image); if (imageWidth != null) { Assert.Equals(image.Width, imageWidth.Value); } if (imageHeight != null) { Assert.Equals(image.Height, imageHeight.Value); } if (format != null) { switch (format) { case MgImageFormats.Gif: Assert.Equals(image.RawFormat, ImageFormat.Gif); break; case MgImageFormats.Jpeg: Assert.Equals(image.RawFormat, ImageFormat.Jpeg); break; case MgImageFormats.Png: case MgImageFormats.Png8: Assert.Equals(image.RawFormat, ImageFormat.Png); break; case MgImageFormats.Tiff: Assert.Equals(image.RawFormat, ImageFormat.Tiff); break; } } } } catch (Exception ex) { throw new AssertException("Invalid image found: " + ex.Message); } finally { if (File.Exists("tile.img")) { try { File.Delete("tile.img"); } catch { } } } }
public static TestResult FromByteReader(MgByteReader byteReader, string operation = "") { try { TestResult res = new TestResult(); if (byteReader != null) { res.ContentType = byteReader.GetMimeType(); if (res.ContentType == MgMimeType.Html || res.ContentType == MgMimeType.Json || res.ContentType == MgMimeType.Kml || res.ContentType == MgMimeType.Text || res.ContentType == MgMimeType.Xml) { res.ResultData = byteReader.ToString(); } else { MgByteSink sink = new MgByteSink(byteReader); string path = operation + Guid.NewGuid().ToString() + "Result.bin"; if (string.IsNullOrEmpty(operation)) { path = Path.GetTempFileName(); } sink.ToFile(path); res.ResultData = File.ReadAllBytes(path); if (string.IsNullOrEmpty(operation)) { File.Delete(path); } else { System.Diagnostics.Debug.WriteLine(string.Format("[MgTestRunner]: Check out {0} if binary comparison results are strange", path)); } /* * byte[] bytes = new byte[byteReader.GetLength()]; * byteReader.Read(bytes, bytes.Length); * res.ResultData = bytes; */ } } return(res); } catch (MgException ex) { return(FromMgException(ex)); } }
public static TestResult FromByteReader(MgByteReader byteReader, string operation = "") { try { TestResult res = new TestResult(); if (byteReader != null) { res.ContentType = byteReader.GetMimeType(); if (res.ContentType == MgMimeType.Html || res.ContentType == MgMimeType.Json || res.ContentType == MgMimeType.Kml || res.ContentType == MgMimeType.Text || res.ContentType == MgMimeType.Xml) { res.ResultData = byteReader.ToString(); } else { MgByteSink sink = new MgByteSink(byteReader); string path = operation + Guid.NewGuid().ToString() + "Result.bin"; if (string.IsNullOrEmpty(operation)) path = Path.GetTempFileName(); sink.ToFile(path); res.ResultData = File.ReadAllBytes(path); if (string.IsNullOrEmpty(operation)) File.Delete(path); else System.Diagnostics.Debug.WriteLine(string.Format("[MgTestRunner]: Check out {0} if binary comparison results are strange", path)); /* byte[] bytes = new byte[byteReader.GetLength()]; byteReader.Read(bytes, bytes.Length); res.ResultData = bytes; */ } } return res; } catch (MgException ex) { return FromMgException(ex); } }
private void button1_Click(object sender, EventArgs e) { try { var fact = new MgdServiceFactory(); MgResourceService resSvc = (MgResourceService)fact.CreateService(MgServiceType.ResourceService); MgResourceIdentifier resId = new MgResourceIdentifier(textBox1.Text); MgByteReader response = resSvc.GetResourceData(resId, textBox2.Text); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { MgByteSink sink = new MgByteSink(response); sink.ToFile(saveFileDialog1.FileName); MessageBox.Show("Saved to: " + saveFileDialog1.FileName); } } catch (MgException ex) { MessageBox.Show(ex.ToString(), "Error from MapGuide"); } }
private void btnMultiPlot_Click(object sender, EventArgs e) { MgdMap map = (MgdMap)_viewer.GetMap(); MgMapViewerProvider provider = _viewer.GetProvider(); MgdMappingService mappingSvc = (MgdMappingService)provider.CreateService(MgServiceType.MappingService); MgResourceIdentifier layoutId = new MgResourceIdentifier("Library://Samples/Sheboygan/Layouts/SheboyganMap.PrintLayout"); using (SaveFileDialog save = new SaveFileDialog()) { save.Filter = "DWF Files (*.dwf)|*.dwf"; if (save.ShowDialog() == DialogResult.OK) { MgdDwfVersion dwfVer = new MgdDwfVersion("6.01", "1.2"); MgdLayout layout = new MgdLayout(layoutId, "City of Sheboygan", MgdPageUnitsType.Inches); MgdPlotSpecification plotSpec = new MgdPlotSpecification(8.5f, 11.0f, MgdPageUnitsType.Inches, 0.5f, 0.5f, 0.5f, 0.5f); MgdMapPlotCollection plotCollection = new MgdMapPlotCollection(); MgdMapPlot plot1 = new MgdMapPlot(map, plotSpec, layout); plot1.SetCenterAndScale(map.GetViewCenter().GetCoordinate(), map.GetViewScale() * 2); plotCollection.Add(plot1); // Create a second map for the second sheet in the DWF. This second sheet uses the print layout // to display a page title and legend. MgdMap map2 = new MgdMap(map.GetMapDefinition(), "Sheet 2"); MgdMapPlot plot2 = new MgdMapPlot(map2, plotSpec, layout); plot2.SetCenterAndScale(map.GetViewCenter().GetCoordinate(), map.GetViewScale()); plotCollection.Add(plot2); MgByteReader result = mappingSvc.GenerateMultiPlot(plotCollection, dwfVer); MgByteSink sink = new MgByteSink(result); sink.ToFile(save.FileName); MessageBox.Show("Saved to " + save.FileName); } } }
//---------------------------------------------------------------------------------------- // �� �ܣ� ����ͼ���Ϊͼ���ļ� // // �� �ߣ� // // // �� �ڣ�2007.05.# // //----------------------------------------------------------------------------------------- public bool GenerateMapImage() { // ��ȡ��Դ�������Ⱦ������� MgResourceService resourceService = (MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService); MgRenderingService renderingService = (MgRenderingService)siteConnection.CreateService(MgServiceType.RenderingService); // ��ͼ MgMap map = new MgMap(); map.Open(resourceService, "Sheboygan"); // ����ѡ�� MgSelection selection = new MgSelection(map); selection.Open(resourceService, "Sheboygan"); // ָ����Χ MgEnvelope extent = map.GetMapExtent(); double x = 0.5*extent.GetLowerLeftCoordinate().GetX(); double y = 0.5*extent.GetLowerLeftCoordinate().GetY() ; MgColor color = new MgColor("FFFFBF20"); // ���ɲ�����ͼ���ļ� MgByteReader byteReader = renderingService.RenderMap(map, selection, extent, 450, 613, color, "PNG"); MgByteSink byteSink = new MgByteSink(byteReader); string filePath = "C:\\Temp\\Map.PNG"; byteSink.ToFile(filePath); return true; }
//---------------------------------------------------------------------------------------- // �� �ܣ� ����ͼ���ΪDWF�ļ� // // �� �ߣ� // // // �� �ڣ�2007.05.# // //----------------------------------------------------------------------------------------- public bool PlotMap() { // ��ȡ��Դ����͵�ͼ������� MgResourceService resourceService = (MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService); MgMappingService mappingService = (MgMappingService)siteConnection.CreateService(MgServiceType.MappingService); // ��ͼ MgMap map = new MgMap(); map.Open(resourceService, "Sheboygan"); // ����DWF��������Ϣ MgDwfVersion dwfVer = new MgDwfVersion("6.01", "1.2"); MgPlotSpecification plotSpec = new MgPlotSpecification(8.5f, 11.0f, MgPageUnitsType.Inches, 0f, 0f, 0f, 0f); plotSpec.SetMargins(0.5f, 0.5f, 0.5f, 0.5f); // ���DWF�ļ� MgResourceIdentifier layoutRes = new MgResourceIdentifier("Library://MgTutorial/Layouts/SheboyganMap.PrintLayout"); MgLayout layout = new MgLayout(layoutRes, " DWF�ļ�����ʾ��", MgPageUnitsType.Inches); MgByteReader byteReader = mappingService.GeneratePlot(map, plotSpec, layout, dwfVer); //�����ļ� MgByteSink byteSink = new MgByteSink(byteReader); string filePath = "C:\\Temp\\Map.DWF"; byteSink.ToFile(filePath); return true; }
//---------------------------------------------------------------------------------------- // �� �ܣ� ������ʱ�� // // �� �ߣ� // // // �� �ڣ�2007.05.# // //----------------------------------------------------------------------------------------- public bool CreatePointsLayer(String rootPath, String sessionId) { // ��ȡҪ�ط������Դ���� MgResourceService resourceService = (MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService); MgFeatureService featureService = (MgFeatureService)siteConnection.CreateService(MgServiceType.FeatureService); // ��ͼ MgMap map = new MgMap(); map.Open(resourceService, "Sheboygan"); // ---Ҫ�����Ҫ�ز������û��������������滹Ҫ���ܣ�--��ʼ // ���������ݵ�Ҫ��Դ CreateFeatureSource(sessionId); String featureSourceName = "Session:" + sessionId + "//Points.FeatureSource"; MgResourceIdentifier resourceIdentifier = new MgResourceIdentifier(featureSourceName); MgBatchPropertyCollection batchPropertyCollection = new MgBatchPropertyCollection(); MgWktReaderWriter wktReaderWriter = new MgWktReaderWriter(); MgAgfReaderWriter agfReaderWriter = new MgAgfReaderWriter(); MgGeometryFactory geometryFactory = new MgGeometryFactory(); // �������¼ MgPropertyCollection propertyCollection = MakePoint("Point A", -87.727, 43.748); batchPropertyCollection.Add(propertyCollection); propertyCollection = MakePoint("Point B", -87.728, 43.730); batchPropertyCollection.Add(propertyCollection); propertyCollection = MakePoint("Point C", -87.726, 43.750); batchPropertyCollection.Add(propertyCollection); propertyCollection = MakePoint("Point D", -87.728, 43.750); batchPropertyCollection.Add(propertyCollection); // ��������Ҫ��������ӵ�Ҫ��Դ MgInsertFeatures Insertcmd = new MgInsertFeatures("Points", batchPropertyCollection); MgFeatureCommandCollection featureCommandCollection = new MgFeatureCommandCollection(); featureCommandCollection.Add(Insertcmd); featureService.UpdateFeatures(resourceIdentifier, featureCommandCollection, false); MgResourceIdentifier resourceID = null; //--------------Ҫ�����Ҫ�ز��� ���� // �����㣬ͨ���㹤��LayerDefinitionFactory LayerDefinitionFactory factory = new LayerDefinitionFactory(); factory.RootDirectoryPath = rootPath; //-------------------��������ʽ------------------------// // ������Ƿ���l string resourceSymbel = "Library://MgTutorial/Symbols/BasicSymbols.SymbolLibrary"; string symbolName = "PushPin"; string width = "24"; // unit = points string height = "24"; // unit = points string color = "FFFF0000"; string markSymbol = factory.CreateMarkSymbol(resourceSymbel, symbolName, width, height, color); // �����ı� string text = "ID"; string fontHeight = "12"; string foregroundColor = "FF000000"; string textSymbol = factory.CreateTextSymbol(text, fontHeight, foregroundColor); // ��������� string legendLabel = "trees"; string filter = ""; string pointRule = factory.CreatePointRule(legendLabel, filter, textSymbol, markSymbol); // ��������ʽ string pointTypeStyle = factory.CreatePointTypeStyle(pointRule); // �������ŷ�Χ string minScale = "0"; string maxScale = "1000000000000"; string pointScaleRange = factory.CreateScaleRange(minScale, maxScale, pointTypeStyle); // �����㶨�� string featureName = "PointSchema:Points"; string geometry = "GEOM"; string layerDefinition = factory.CreateLayerDefinition(featureSourceName, featureName, geometry, pointScaleRange); MgByteSource byteSource = new MgByteSource(Encoding.UTF8.GetBytes(layerDefinition), layerDefinition.Length); MgByteReader byteReader = byteSource.GetReader(); resourceID = new MgResourceIdentifier("Session:" + sessionId + "//Points.LayerDefinition"); resourceService.SetResource(resourceID, byteReader, null); //��������IJ㶨�����ݣ������ã� MgByteSink byteSink = new MgByteSink(resourceService.GetResourceContent(resourceID)); string filePath = "C:\\Temp\\LayerDefinition.xml"; byteSink.ToFile(filePath); // �����㲢��ӵ�����͵�ͼ�� MgLayer newLayer = CreateLayerResource(resourceID, resourceService, "Points", "��ʱ��", map); AddLayerToGroup(newLayer, "Analysis", "����", map); MgLayerCollection layerCollection = map.GetLayers(); if (layerCollection.Contains("Points")) { MgLayer pointsLayer = layerCollection.GetItem("Points"); pointsLayer.SetVisible(true); } // �����ͼ map.Save(resourceService); return true; }