using System; using System.Collections.Generic; using System.Text; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.DataSourcesRaster; using System.Diagnostics; namespace ArcProxy { class Program { private static LicenseInitializer m_AOLicenseInitializer = new ArcProxy.LicenseInitializer(); [STAThread()] static void Main(string[] args) { // ESRI License Initializer generated code. m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] { esriLicenseProductCode.esriLicenseProductCodeEngine, esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB }, new esriLicenseExtensionCode[] { esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst, esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork, esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst, esriLicenseExtensionCode.esriLicenseExtensionCodeSchematics, esriLicenseExtensionCode.esriLicenseExtensionCodeMLE, esriLicenseExtensionCode.esriLicenseExtensionCodeDataInteroperability, esriLicenseExtensionCode.esriLicenseExtensionCodeTracking }); // ESRI License Initializer generated code. string path = System.IO.Directory.GetCurrentDirectory(); string filename = "galle.tif"; // Connect to an image serve via URL IImageServerLayer imageServerLayer = new ImageServerLayerClass(); string URL = "http://vega/ArcGIS/services/GalleCrater/ImageServer"; imageServerLayer.Initialize(URL); // Get the raster from the image server layer IRaster raster = imageServerLayer.Raster; // Rasters from image servers are large; define the size of the raster. IRasterProps rasterProps = (IRasterProps)raster; IEnvelope clipEnvelope = new EnvelopeClass(); clipEnvelope.PutCoords(735000, 4335000, 740000, 4340000); rasterProps.Extent = clipEnvelope; rasterProps.Width = 2048; rasterProps.Height = 2048; // Open a workspace for saving the image IWorkspace workspace = openWorkspace(path); // Ensure the image does not currently exist System.IO.File.Delete(path + @\ + filename); // Save the image to the file System.Console.WriteLine("Saving..."); ISaveAs saveas = (ISaveAs)raster; IDataset dataset = saveas.SaveAs(filename, workspace, "TIFF"); // Do not make any call to ArcObjects after ShutDownApplication() m_AOLicenseInitializer.ShutdownApplication(); } /// <summary> /// Open a workspace for writing a raster to an image file. /// </summary> static IWorkspace openWorkspace(string path) { IWorkspaceFactory2 wsFactory = new RasterWorkspaceFactoryClass(); IWorkspace workspace = wsFactory.OpenFromFile(path, 0); return workspace; } } }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.