-----------------------------------

Acquista i software ArcGIS tramite Studio A&T srl, rivenditore autorizzato dei prodotti Esri.

I migliori software GIS, il miglior supporto tecnico!

I migliori software GIS, il miglior supporto tecnico!
Azienda operante nel settore GIS dal 2001, specializzata nell’utilizzo della tecnologia ArcGIS e aderente ai programmi Esri Italia Business Network ed Esri Partner Network

-----------------------------------



domenica 19 dicembre 2010

Autocomplete con dojo API

Con le ArcGIS JavaScript API potrebbe essere utile utilizzare l'Autocomplete. Per questo ci viene incontro il dojox.data.QueryReadStore. In dojo campus possiamo vedere degli esempi.





Innanzitutto creiamo il servizio lato server che verrà chiamato lato client. In questo esempio che vi illustro usiamo il template WCF Rest per il Framework 4.0 (CS) , ci connettiamo ad un servizio Geodata e ci facciamo restituire i dati richiesti.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using ESRI.ArcGIS.ADF;
using ESRI.ArcGIS.ADF.Connection.AGS;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.GeoDatabaseDistributed;
using ESRI.ArcGIS.Server;
 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class GeoData : IGeoData
{
 
    #region IGeoDataService Members
 
    [WebGet(UriTemplate = "/Comune?q={filter}&limite={limit}", ResponseFormat  = WebMessageFormat.Json)]
    public ListaComuni GetListaComuni(string filter, int limit)
    {
        List<Comune> items = new List<Comune>();
 
        if (string.IsNullOrEmpty(filter))
            return new ListaComuni() { Items = items };
 
        filter = filter.Substring(0, filter.Length - 1);
 
        if (filter.Length <= limit)
            return new ListaComuni() { Items = items };
        
 
 
        IServerContext serverContext = null;
        try
        {
            // Connessione ad ArcGIS Server
            Identity identity = new Identity();
            identity.UserName = ConfigurationManager.AppSettings.Get("utenteAGS");
            identity.Password = ConfigurationManager.AppSettings.Get("passwordAGS");
 
            string domain = ConfigurationManager.AppSettings.Get("domainAGS");
 
 
            if (!string.IsNullOrEmpty(domain))
              identity.Domain = domain;
            
 
            using (AGSServerConnection agsServerConnection = new AGSServerConnection(ConfigurationManager.AppSettings.Get("hostnameAGS"), identity))
            {
                try
                {
                    agsServerConnection.Connect();
                }
                catch
                {
                    throw;
                }
 
                // get a server context
                IServerObjectManager som = agsServerConnection.ServerObjectManager;
                serverContext = som.CreateServerContext(ConfigurationManager.AppSettings.Get("serviceGeoData"), "GeodataServer");
 
                // get the workspace from the GeodataServer
                IGeoDataServer gds = serverContext.ServerObject as IGeoDataServer;
                IGeoDataServerObjects geoDataServerObjects = gds as IGeoDataServerObjects;
                IWorkspace workspace = geoDataServerObjects.DefaultWorkingWorkspace;
 
 
                IFeatureWorkspace featureWorkspace = workspace as IFeatureWorkspace;
                IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Comuni");
                string nomeCampo = "COMUNE";
                int idxField = featureClass.FindField(nomeCampo);
 
 
                IQueryFilter queryFilter = serverContext.CreateObject("esriGeodatabase.QueryFilter"as IQueryFilter;
 
 
                queryFilter.SubFields = nomeCampo;
 
                if (!string.IsNullOrEmpty(filter))
                {
                    ISQLSyntax sqlSyntax = workspace as ISQLSyntax;
                    string wildcardMany = sqlSyntax.GetSpecialCharacter(esriSQLSpecialCharacters.esriSQL_WildcardManyMatch);
                    string prefixDI = sqlSyntax.GetSpecialCharacter(esriSQLSpecialCharacters.esriSQL_DelimitedIdentifierPrefix);
                    string suffixDI = sqlSyntax.GetSpecialCharacter(esriSQLSpecialCharacters.esriSQL_DelimitedIdentifierSuffix);
                    
                    string where = string.Format("{0}{1}{2} LIKE '{3}{4}'", prefixDI, nomeCampo, suffixDI, filter.ToUpper(), wildcardMany);
                    queryFilter.WhereClause = where;
                }
 
                using (ComReleaser comReleaser = new ComReleaser())
                {
                    IFeatureCursor featureCursor = featureClass.Search(queryFilter, true);
                    comReleaser.ManageLifetime(featureCursor);
                    IFeature feature = null;
                    string item = null;
                    while ((feature = featureCursor.NextFeature()) != null)
                    {
                        item = Convert.ToString(feature.get_Value(idxField));
                        items.Add(new Comune() { Name = item });
                    }
                }
 
                items = items.OrderBy(x => x.Name).ToList();
 
                //if (limit > 0)
                //  items = items.Take(limit).ToList();
 
            }
            return new ListaComuni() { Items = items };
        }
        catch
        {
            return new ListaComuni() { Items = new List<Comune>() };
        }
        finally
        {
            if (serverContext != null) serverContext.ReleaseContext();
        }
    }
 
    #endregion
}

using System.Collections.Generic;
using System.Runtime.Serialization;
using System.ServiceModel;


[ServiceContract]
public interface IGeoData
{

    [OperationContract]
    ListaComuni GetListaComuni(string filter,int limit);

}


[DataContract]
public class ListaComuni
{
    [DataMember(Name = "items")]
    public List<Comune> Items
    {
        get;
        set;
    }
}

[DataContract]
public class Comune
{

    [DataMember(Name = "name")]
    public string Name
    {
        get;
        set;
    }
}



Dalla nostra pagina che esegue codice lato client utilizziamo il QueryReadStore e richiamiamo il nostro servizio REST.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
       <meta http-equiv="X-UA-Compatible" content="IE=7" />
       <!--The viewport meta tag is used to improve the presentation and behavior of the samples 
        on iOS devices-->
       <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>


        <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css">

        <script type="text/javascript">
            var djConfig = {
                parseOnLoad: true, isDebug: true, baseUrl: './', modulePaths: { 'custom''custom' }
            };
        </script> 
        <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1"></script>

<script type="text/javascript">

    dojo.require("dijit.dijit"); // optimize: load dijit layer
    dojo.require("dijit.layout.BorderContainer");
    dojo.require("dijit.layout.ContentPane");
    dojo.require("dijit.layout.TabContainer");
    dojo.require("dijit.Tooltip");
    dojo.require("dijit.TitlePane");
    dojo.require("esri.map");

    dojo.require("dojox.data.QueryReadStore");
    dojo.require("dijit.form.ComboBox");
    dojo.require("custom.ComboBoxReadStore");




    var map;


    function Init() {

        dojo.style(dojo.byId("map"), { width: dojo.contentBox("map").w + "px", height: (esri.documentBox.h - dojo.contentBox("navTable").h - 40) + "px" });
        var initExtent = new esri.geometry.Extent({ "xmin": 6.55059928850006, "ymin": 45.0006208151578,
            "xmax": 8.22229873550003, "ymax": 45.6702338525465, "spatialReference": { "wkid": 4326 }
        });
        map = new esri.Map("map", { extent: initExtent });


        var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://localhost/ArcGIS/rest/services/LimitiComuni/MapServer", { "opacity": 0.5 });
        var layerBaseMap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
        map.addLayer(layerBaseMap);
        map.addLayer(layer);

        var resizeTimer;
        dojo.connect(map, 'onLoad'function (theMap) {

            dojo.connect(dijit.byId('map'), 'resize'function () {
                clearTimeout(resizeTimer);
                resizeTimer = setTimeout(function () {
                    map.resize();
                    map.reposition();
                }, 500);
            });
        });




    }
    dojo.addOnLoad(Init);

</script>
</head>
<body class="tundra">

<table style="width:100%">
<tr>
<td>
<table id="navTable" width="100%">
<tbody>
<tr valign="top">
<td id="breadcrumbs">
ArcGIS JavaScript API: LimitiComuni
</td>

<td align="right" id="help">

<div dojoType="custom.ComboBoxReadStore" jsId="theStore" url="http://localhost:1385/GeoData/Comune?"
               requestMethod="get">
</div>

<input dojoType="dijit.form.ComboBox"
        searchAttr="name" name="theSelect" id="theSelect" 
        store="theStore" placeHolder="Cerca comune" hasDownArrow="false">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
<div id="map" style="margin:auto;width:97%;border:1px solid #000;"></div>
</body>
</html>



In custom/ComboBoxReadStore.js subclassiamo dojox.data.QueryReadStore per poter modificare eventualmente il passaggio dei parametri dal client al server:

dojo.provide("custom.ComboBoxReadStore");
 
dojo.require("dojox.data.QueryReadStore");
 
dojo.declare("custom.ComboBoxReadStore", dojox.data.QueryReadStore, {
  fetch:function(request) {
    request.serverQuery = {q:request.query.name, limite:2};
    // Call superclasses' fetch
    return this.inherited("fetch", arguments);
  }
});

domenica 28 novembre 2010

SQL Server Reporting services Map & ArcGIS Server

Con la nuova versione di SQL Server 2008 R2, possiamo visualizzare mappe nelle report che distribuiamo con RS (anche con la versione Express).

Questo è possibile grazie al nuovo controllo map. Qui potete trovare maggiori dettagli su tale controllo.

Contestualmente all'aggiunta in ArcGIS Server dei query layer,  possiamo effettuare una sorta di integrazione tra ArcGIS Server ed il controllo di mappa di RS senza utilizzare gli shapefile.

In questo video illustro una possibile integrazione:


Code:

<%@ WebHandler Language="C#" Class="rsMap" %>
 
using System;
using System.Web;
//Author: Domenico Ciavarella
//www.studioat.it
public class rsMap : IHttpHandler {
 
 public void ProcessRequest (HttpContext context) {
  
  bool isJson = false;
  bool isPrettyJson = false;
  string format = null;
  if (context.Request.QueryString["f"] != null)
  {
   format = context.Request.QueryString["f"].ToLower();
   if (format == "json" || format == "pjson")
   {
    isJson = true;
    isPrettyJson = format == "pjson";
   }
  }
 
  
  
  reportExecution.ReportExecutionService rs = new reportExecution.ReportExecutionService();
  rs.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings.Get("userReport"), System.Configuration.ConfigurationManager.AppSettings.Get("passwordReport"), System.Configuration.ConfigurationManager.AppSettings.Get("domain"));
  
  // Render arguments
  byte[] result = null;
  string reportPath = "/rsMappe/rsMap";
  string formatOutput = "PDF";
  string historyID = null;
 
  string encoding;
  string mimeType;
  string extension;
  reportExecution.Warning[] warnings = null;
  string[] streamIDs = null;
 
 
  
 
 
  reportExecution.ExecutionInfo execInfo = new reportExecution.ExecutionInfo();
  reportExecution.ExecutionHeader execHeader = new reportExecution.ExecutionHeader();
 
  rs.ExecutionHeaderValue = execHeader;
 
  execInfo = rs.LoadReport(reportPath, historyID);
  
  String SessionId = rs.ExecutionHeaderValue.ExecutionID;
 
  string oidValue = context.Server.HtmlEncode(context.Request.QueryString["oid"]);
  
  if (string.IsNullOrEmpty(oidValue))
  {
   context.Response.Write("Parametri non passati!");
   return;
  }
  
 
 
 
  reportExecution.ParameterValue[] parameters = new reportExecution.ParameterValue[1 ];
 
    
  parameters[0] = new reportExecution.ParameterValue();
  parameters[0].Name = "pFID";
  parameters[0].Value = oidValue;
  
  rs.SetExecutionParameters(parameters, "it-IT");
   
  result = rs.Render(formatOutput, nullout extension, out encoding, out mimeType, out warnings, out streamIDs);
 
 
  if (isJson)
  {
   string fileName = "_ags_" + Guid.NewGuid().ToString() + ".pdf";
   string pathfileName = @"c:\arcgisserver\arcgisoutput\" + fileName;
   string urlfileName = "http://localhost/arcgisoutput/" + fileName;
   using (System.IO.FileStream stream = System.IO.File.OpenWrite(pathfileName))
   {
    stream.Write(result, 0, result.Length);
   }
 
   GenerateJson(context, new Result() { url = urlfileName }, isPrettyJson);
   return;
  }
  
  
  context.Response.ClearContent();
  context.Response.AppendHeader("content-length", result.Length.ToString());
  context.Response.ContentType = "application/pdf";
  context.Response.BinaryWrite(result);
  context.Response.Flush();
  context.Response.Close();
 }
 
 public bool IsReusable {
  get {
   return false;
  }
 }
 
 
 private static void GenerateJson(HttpContext context, Result result, bool isPrettyJson)
 {
  context.Response.ContentType = "text/plain";
  string newLine = "\n";
  string tab = " ";
  if (!isPrettyJson)
  {
   newLine = tab = "";
  }
  context.Response.Write(string.Format("{{\"results\": {0}", newLine, tab));
 
  context.Response.Write(string.Format("{2}{1}{2}{2}{{\"url\":\"{0}\"}}{1}", result.url, newLine, tab));
    
  context.Response.Write(string.Format("{0}}}", newLine, tab));
 }
 
 public struct Result {
  public string url;
 }
 
 
}


page HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
  <title>ArcGIS JavaScript API: LimitiComuni</title>
<style type="text/css">
  @import "http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/tundra/tundra.css";
htmlbody { height100%width100%margin0padding0; }
      .tundra .dijitSplitContainer-dijitContentPane.tundra .dijitBorderContainer-dijitContentPane#navtable { 
        PADDING-BOTTOM5pxMARGIN0px 0px 3pxPADDING-TOP0pxBORDER-BOTTOM#000 1px solidBORDER-TOP#000 1px solidBACKGROUND-COLOR#E5EFF7;
      }
      .tundra .dijitSplitContainer-dijitContentPane.tundra .dijitBorderContainer-dijitContentPane#map {
        overflow:hiddenborder:solid 1px blackpadding0;
      }
      #breadcrumbs {
        PADDING-RIGHT0pxPADDING-LEFT11pxFONT-SIZE0.8emFONT-WEIGHTboldPADDING-BOTTOM5pxMARGIN0px 0px 3pxPADDING-TOP0px;
      }
      #help {
        PADDING-RIGHT11pxPADDING-LEFT0pxFONT-SIZE0.70emPADDING-BOTTOM5pxMARGIN0px 0px 3pxPADDING-TOP3px</style>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis?v=2.1"></script>
<script type="text/javascript">
    dojo.require("esri.map");
    dojo.require("dijit.layout.ContentPane");
    dojo.require("dijit.layout.BorderContainer");
    dojo.require("dijit.Dialog");
 
    var map;
    var printDlg;
 
    function Init() {
        dojo.style(dojo.byId("map"), { width: dojo.contentBox("map").w + "px", height: (esri.documentBox.h - dojo.contentBox("navTable").h - 40) + "px" });
        var initExtent = new esri.geometry.Extent({ "xmin": 6.55059928850006, "ymin": 45.0006208151578,
            "xmax": 8.22229873550003, "ymax": 45.6702338525465, "spatialReference": { "wkid": 4326 }
        });
        map = new esri.Map("map", { extent: initExtent });
        
        printDlg = new dijit.Dialog({
            title: "Stampa",
            style: "width: 825px; height: 650px"
        });
   
        var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://localhost/ArcGIS/rest/services/LimitiComuni/MapServer", { "opacity": 0.5 });
        var layerBaseMap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
        map.addLayer(layerBaseMap);
        map.addLayer(layer);
        var resizeTimer;
        dojo.connect(map, 'onLoad'function (theMap) {
            dojo.connect(map, "onClick", doIdentify);
 
            identifyTask = new esri.tasks.IdentifyTask("http://localhost/ArcGIS/rest/services/LimitiComuni/MapServer");
 
            identifyParams = new esri.tasks.IdentifyParameters();
            identifyParams.tolerance = 3;
            identifyParams.returnGeometry = false;
            identifyParams.layerIds = [0];
            identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
            identifyParams.width = map.width;
            identifyParams.height = map.height;
            
            dojo.connect(dijit.byId('map'), 'resize'function () {
                clearTimeout(resizeTimer);
                resizeTimer = setTimeout(function () {
                    map.resize();
                    map.reposition();
                }, 500);
            });
        });
    }
    dojo.addOnLoad(Init);
 
 
    function doIdentify(evt) {
        identifyParams.geometry = evt.mapPoint;
        identifyParams.mapExtent = map.extent;
        identifyTask.execute(identifyParams, function (idResults) { addToMap(idResults, evt); });
    }
    function addToMap(idResults, evt) {
        var idResult = idResults[0];
        print(idResult.feature.attributes.FID);
    }
 
    function print(id) {
   var url = esri.urlToObject("http://localhost/rsMap/rsMap.ashx?f=json&oidIndirizzo=" + id);

            var requestHandle = esri.request({
                url: url.path,
                content: url.query,
                handleAs: "json",
                load: function (data) {
                    printDlg.attr("content", "<div><object data='" + data.results.url + "' type='application/pdf' width='800' height='600'></object></div>");
                    printDlg.show();
                },
                error: function (error) {
                    alert("Errore di stampa");
                }
            });
}
 
 
</script>
</head>
<body class="tundra">
 
<table style="width:100%">
<tr>
<td>
<table id="navTable" width="100%">
<tbody>
<tr valign="top">
<td id="breadcrumbs">
ArcGIS JavaScript API: LimitiComuni
</td>
<td align="right" id="help">
Built using the  <a href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis">ArcGIS JavaScript API</a>
</td>
</tr>
</tbody>
</table>
 
</td>
</tr>
</table>
<div id="map" style="margin:auto;width:97%;border:1px solid #000;"></div>
</body>
</html>

domenica 17 ottobre 2010

Routing utilizzando javascript API

Siamo arrivati alla versione 2.1 delle API Javascript ESRI ma sin dalla versione 1.4 le API Javascript permettevano di lavorare con i servizi di network analysis di ArcGIS Server.


Dalla versione 2.0 inoltre è stato aggiunto il supporto per le closest facility e le service area.

Il RouteTask di ArcGIS JavaScript API ti consente di trovare i percorsi tra due o più posizioni ed eventualmente di ricevere indicazioni di percorso. Il RouteTask usa i servizi della network analysis di ArcGIS Server per calcolare i percorsi. I servizi della network analysis services ti permettono di risolvere semplici problemi di routing, ma anche più complessi che comprendono fermate multiple, barriere e vincoli temporali.

Nota: la capacità di esporre servizi di network analysis services attraverso REST (e quindi ArcGIS JavaScript API) inizia a partire dalla versione 9.3.1. di ArcGIS Server. I servizi di network analysis pubblicati dalle precedenti versioni di ArcGIS Server non si potevano utilizzare con ArcGIS JavaScript API.


Come creare un servizio di network analysis

Per disporre di un servizio di network analysis dovrai seguire le seguenti fasi:

1. Creare un documento ArcMap (MXD) ed aggiungere un layer di network analysis che faccia riferimento ad un network dataset.

2. Pubblicare il documento di mappa in ArcGIS Server come servizio di mappa.

3. Abilitare la capability Network Analysis nel servizio di mappa.

Le fasi sopra menzionate mostrano che un servizio di network analysis in realtà nasce da un servizio di mappa ed un documento di mappa. E’ una best practice, per le prestazioni, mantenere il servizio di network analysis separato da altri servizi di mappa nella tua applicazione Web. In altre parole, non mettere il tuo layer di network analysis nella mappa che verrà usata principalmente per la visualizzazione.


Se utilizzi per la prima volta ESRI network analysis, la seguente lettura ti fornirà dettagli ulteriori su Network Analyst ed i servizi di network:

An overview of Network Analyst

Network analysis workflow

Network analysis services


Cosa può fare il RouteTask?


Il RouteTask ti aiuta a risolvere problem di routing, cioè permette di trovare il percorso ottimale tra posizioni multiple che si trovano su una network. Il costo è calcolato basandosi su un attributo di impedenza che definisci nel network dataset. L’impedenza può essere un tempo o una distanza, o anche una variabile più astratta che la rappresenta.

Il RouteTask ti può aiutare a trovare la miglior sequenza delle fermate. Ad esempio, se il costo di un viaggio dalla fermata A alla fermata B è maggiore rispetto alla direzione opposta a causa delle vie a senso unico, troverai la soluzione dove la fermata B è visitata prima. Inoltre, se hai fermate multiple che possono essere visitate in qualsiasi ordine, il RouteTask troverà la sequenza più efficiente. Puoi scegliere eventualmente se mantenere la prima o l’ultima fermata fisse in caso di esigenze di percorso per iniziare o finire ad un determinato punto.

Il RouteTask può anche lavorare con finestre temporali, che sono intervalli fissati di tempo nei quali bisogna effettuare le fermate (ad esempio dalle 3:00 alle 4:00 AM per la fermata A). Se le tue fermate hanno finestre di tempo definite, il RouteTask troverà una sequenza di fermate dove cerca di rispettare le finestre di tempo minimizzando il costo totale. Inoltre, il RouteTask può considerare sia le barriere che bloccano particolari segmenti di strada, sia le restrizioni, per esempio i sensi unici.

Il RouteTask può restituire un route con la sua geometria, costo, direzioni di viaggio ed altri valori che indichi da accumulare nel corso del viaggio.

Passiamo ora alla parte pratica.


Per istanziare un RouteTask dobbiamo fornire l'URL della nostra risorsa network layer

routeTask = new esri.tasks.RouteTask("http://myServer/ArcGIS/rest/services/MyMapDoc/NAServer/MyRoute");

MyMapDoc è il nome del nostro servizio di mappa, mentre MyRoute è il nome del nostro layer di network analysis.

Ora, per configurare i parametri del routeTask ovverosia fermate, barriere, impedenza ecc., utilizziamo esri.tasks.RouteParameters.

Una volta istanziato il RouteTask ed impostato il RouteParameters, risolviamo mediante il solve. Ad esempio, per aggiungere due fermate:


routeParams = new esri.tasks.RouteParameters();


var stop1 = new esri.Graphic(new esri.geometry.Point(-117.21,34.065), stopSymbol);
var stop2 = new esri.Graphic(new esri.geometry.Point(-117.185,34.05), stopSymbol);
routeParams.stops = new esri.tasks.FeatureSet();
routeParams.stops.features.push(stop1);
routeParams.stops.features.push(stop2);

Analogo discorso può essere fatto per le barriere:

routeParams.barriers = new esri.tasks.FeatureSet();
var barrier1 = new esri.Graphic(new esri.geometry.Point(-23.185,42.05), barrierSymbol);
routeParams.barriers.features.push(barrier1);

Possiamo specificare gli attributi che dovranno essere accumulati durante l'analisi. Dovranno essere attributi specificati come costi nel network dataset

routeParams.accumulateAttributes = ["Costo1","Costo2"];

Fate attenzione che questo, come altri parametri, se non vengono impostati, prenderanno le impostazioni del network dataset / layer del servizio.

Un'altra considerazione da fare è che le fermate/barriere che abbiamo inserito verranno riferite ad edge delle route in base alle impostazioni di snap presenti nel layer di network analysis.


Se volessimo invece riferirle ad edge specifici della route, abbiamo la possibilità di utilizzare le network location tramite SourceID, SourceOID, PosAlong, SideOfEdge e CurbApproach.

In questo caso negli attributi delle fermate indicheremo:

var stop1 = new esri.Graphic(new esri.geometry.Point(-117.21, 34.065), stopSymbol);
stop1.attributes = new Object();
stop1.attributes.SourceID =1;
stop1.attributes.SourceOID =2367;
stop1.attributes.PosAlong =0.55467;
stop1.attributes.SideOfEdge =1;
stop1.attributes.CurbApproach =0;

Abbiamo la possibilità di cercare più route contemporaneamente impostando la proprietà RouteName. Inoltre possiamo impostare la proprietà Name utilizzabile, ad esempio, per 'riconoscere' la fermata quando ci verrà restituita dal RouteResult.

var stop1 = new esri.Graphic(new esri.geometry.Point(-117.21, 34.065), stopSymbol);
stop1.attributes = new Object();
stop1.attributes.Name = "A";
stop1.attributes.RouteName = "Route A";


var stop2 = new esri.Graphic(new esri.geometry.Point(-117.185, 34.05 ), stopSymbol);
stop2.attributes = new Object();
stop2.attributes.Name = "B";
stop2.attributes.RouteName = "Route A";


routeTask.solve(routeParams);


Inoltre dobbiamo dichiarare i due eventi del RouteTask per prendere i risultati o gli eventuali errori.

dojo.connect(routeTask, "onSolveComplete", showRoute);
dojo.connect(routeTask, "onError", errorHandler);


function showRoute(routeResults) {
    for (var i = 0; i < routeresults.messages.length; i++)
       alert(routeResults.message[i].type + ": " + routeResults.message[i].description);
   
    map.graphics.add(routeResults[0].route.setSymbol(routeSymbol));
}

function errorHandler(err) {
   if (err.message)
      alert("An error occured\n" + err.message + "\n" + err.details.join("\n"));
   else
     alert("Description: " + err.description + "\n" + "Type:" + err.type);
}


Come abbiamo precedentemente accennato, per avere la migliore sequenza per le fermate occorre impostare le seguenti proprietà del RouteParameters:

routeParams.findBestSequence=true;
routeParams.preserveFirstStop=false;
routeParams.preserveLastStop=false;
routeParams.returnStops = true;

Impostando a returnStops = true possiamo poi, dopo aver risolto con solve, prendere le fermate nella sequenza ottimizzata:

for (var i = 0; i < routeResults[0].stops.length; i++){
   alert("Fermata " + routeResults[0].stops[i].attributes.Name + " visita n. " + routeResults[0].stop.[i].attributes.Sequence);
}

Come potete notare routeResults è un array poichè, come abbiamo visto precedentemente, possiamo risolvere più di una route in una volta sola utilizzando la proprietà di RouteName.

function showRoute(solveResult) {
   var routeResults = solveResult.routeResults;
...

Per avere indicazioni sulle direzioni possiamo impostare la proprietà returnDirections (RouteParameters.returnDirections = true). In questo caso se non strettamente necessario (ad esempio abbiamo bisogno di alcuni attributi del routeResults) è opportuno non caricare troppo il sistema facendosi anche restituire le route ( RouteParameters.returnRoutes = false).

function showRoute(routeResults) {
   var directions = routeResults[0].directions;
   ...
}

directions restitutisce DirectionsFeatureSet una subclass di esri.tasks.FeatureSet.

Infine, per chiudere un'interessante caratteristica del RouteTask, vi è la possibilità di vincolare il passaggio alle fermate in certe ore del giorno, anche se si tratta di vincoli 'soft' perchè, anche se il solver cerca di rispettare tali vincoli, alcuni vincoli temporali potrebbero essere violati per raggiungere comunque le fermate.

routeParams.useTimeWindows = true;
var stop1 = new esri.Graphic(new esri.geometry.Point(-117.21, 34.065), stopSymbol);
stop1.attributes = new Object();
stop1.attributes.Name = "A";
stop1.attributes.TimeWindowStart = "8:00 AM";
stop1.attributes.TimeWindowEnd = "8:05 AM";

var stop2 = new esri.Graphic(new esri.geometry.Point(-117.185, 34.05 ), stopSymbol);
stop2.attributes = new Object();
stop2.attributes.Name = "B";
stop2.attributes.TimeWindowStart = "8:10 AM";
stop2.attributes.TimeWindowEnd = "8:15 AM";

Tramite le seguenti proprietà è possibile vedere il tempo violato o il tempo d'attesa.

stop.attributes["Cumul_Time"];
stop.attributes["Wait_Time"];
stop.attributes["CumulWait_Time"];
stop.attributes["Violation_Time"];
stop.attributes["CumulViolation_Time"];

mercoledì 13 ottobre 2010

3D direttamente sul browser

Sì, avete proprio capito bene: visualizzazione 3D direttamente sul browser.
Il prototype Lab ESRI vi spiega come poterlo realizzare.
Ingredienti:
Silverlight
- Silverlight WEB API ESRI
- Balder un open source 3D graphics engine


Live link per provare.
Qui potete scaricare il codice.

Video:

domenica 12 settembre 2010

Windows Touch

Sebbene la tecnologia touch sia presente da anni, con l'avvento di Windows 7 è ora pienamente supportata.

http://windows.microsoft.com/en-us/windows7/products/features/touch


Vi segnalo alcuni link dove potete trovare risorse per sviluppare con questa tecnologia:

http://msdn.microsoft.com/en-us/library/dd562197(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/dd562199(v=VS.85).aspx
http://msdn.microsoft.com/it-it/windows/ee633448.aspx
http://www.microsoftpdc.com/2009/CL27


Applications Prototype Lab ha rilasciato un AddIn per ArcGIS 10 (con codice incluso) per utilizzare questa tecnologia con ArcGlobe.

Qui potete scaricare l'AddIn
http://resources.arcgis.com/gallery/file/arcobjects-net-api/details?entryID=D8396491-1422-2418-A0B7-114E82EAC240


Questa è una dimostrazione dell'AddIn:




Ora passo la palla a voi perchè possiate sbizzarrirvi nelle vostre applicazioni GIS (naturamente ESRI!) ...

venerdì 20 agosto 2010

10 di nome e di fatto: fate un po' voi ...

ArcGIS 10 include una riprogettazione dell’interfaccia del Desktop ArcGIS ed una funzionalità ulteriore e migliore in tutta la linea di prodotti ArcGIS.

I seguenti paragrafi sintetizzano i cambiamenti nel software in diverse aree funzionali. Ogni paragrafo include i link ai vari argomenti con informazioni aggiuntive per ogni area specifica del software.

Gestione di ArcGIS Desktop

E’ semplice installare e gestire ArcGIS Desktop 10.

• Puoi prendere in prestito licenze di ArcGIS Desktop 10 per uso temporaneo lontano dall’ufficio (per esempio, quando si lavora sul campo, da casa o in viaggio per affari). Vedi Borrowing and returning concurrent use licenses per ulteriori informazioni.

• Adesso puoi autorizzare licenze tramite il license manager via Web, così non hai più bisogno di richiedere un license file basato su hardware key o un indirizzo MAC da ESRI Customer Service. Vedi License Manager installation and startup per ulteriori informazioni.

• Altri miglioramenti di License Manager includono la possibilità di installare license manager in qualsiasi postazione del tuo sistema e di trasferire licenze direttamente da un license server ad un altro. Vedi Transferring licenses from one license manager to another per ulteriori informazioni.

Documentazione

Un aggiornato ArcGIS Resource Center unisce tutte le risorse online, come l’ help, gli esempi, i template, i blog, i forum e gli articoli tecnici per ArcGIS in un sito apposito: http://resources.arcgis.com/.

La documentazione relativa al prodotto è riorganizzata e perfezionata.

• Oltre il 75 percento dell’help è stato riscritto ed aggiornato.

• Gli argomenti sono stati organizzati in base a gruppi di skill. La libreria Essentials contiene concetti chiave GIS ed ArcGIS. La libreria Professional contiene informazioni sulla funzionalità del software, su come usarla e concetti GIS più avanzati. La libreria Administrator contiene informazioni per chi installa software, gestisce licenze ed amministra server e database.

• I tutorial ArcGIS vengono ora introdotti come argomenti nell’help invece di PDF separati. Vedi ArcGIS Tutorials.

• Gli help file installati occupano meno spazio sul tuo computer.

Gestione dei dati

Geodatabase

Segue un riassunto della nuova funzionalità disponibile nei geodatabase. Vedi What's new for geodatabases in ArcGIS 10 per ulteriori informazioni.

• Aggiorna personal, file e tutti gli ArcSDE geodatabase con il tool Upgrade Geodatabase geoprocessing o con script Python.

• Lo schema geodatabase è stato ristrutturato per consolidare l’informazione delle tabelle di sistema del geodatabase in sei tabelle.

• Si sono aggiunte nuove opzioni ai tool di geoprocessing Create Personal GDB e Create File GDB per consentirti di creare un geodatabase in una versione precedente da un client ArcGIS 10.

• Sono disponibili sei nuove regole di topologia.

• Il wizard del New Geometric Network è stato riprogettato e semplificato.

• Si è inserito un nuovo comando per caricare feature in un network geometrico in maniera efficace.

• Una nuova funzionalità in ArcMap ti permette di definire una query spaziale usando tipi spaziali SQL in un database spaziale per creare un layer (query layer) che si può visionare in ArcMap.

• Repliche one-way possono ora utilizzare l’archiving invece del versioning per non perdere le tracce delle modifiche apportate alle repliche. Quando si usa l’archiving per risalire alle modifiche, non si creano versioni di sistema. Questo semplifica la gestione delle repliche.

• Si è aggiunto un supporto per repliche one-way e child-to-parent. Questo tipo ti permette di modificare i dati nella replica-child e di sincronizzarli con la replica-parent.

• I file geodatabase hanno tre nuove keyword: GEOMETRY_OUTOFLINE, BLOB_OUTOFLINE e GEOMETRY_AND_BLOB_OUTOFLINE— che consentono un ulteriore controllo sulla memorizzazione delle feature class quando si ha a che fare con geometrie complesse ed attributi BLOB. Ciò può dare esecuzioni migliori, specialmente quando si usano terrain dataset.

• Il comando di gestione ArcSDE sdemon è stato potenziato per disconnettere o bloccare le direct connection al geodatabase.

• ArcGIS Desktop, ArcGIS Engine ed ArcGIS Server contengono i driver necessari a creare una direct connection al geodatabase 9.2 o 9.3. Le connessioni dai precedenti client ArcGIS ai geodatabase ArcGIS 10 non sono supportate.

• ArcGIS Desktop, ArcReader ed ArcGIS Server installano Microsoft SQL Server 2008 Native Client per consentirti di fare direct connection ai geodatabase in SQL Server. SQL Server 2008 Native Client viene pure incluso nell’installazione ArcGIS Engine come eseguibile separato.

• Le linee verticali si possono memorizzare in feature class z-enabled.

• Un nuovo tipo di SQL raster (ST_Raster) si può installare nei geodatabase ArcSDE in Oracle, PostgreSQL e SQL Server. Puoi usare questo tipo di memorizzazione con client ArcGIS e SQL.

• Il geoprocessing tool Migrate Storage è stato potenziato per supportare i dati raster che si convertono al tipo ST_Raster ed i dati spaziali binari a tipi geometry o geography in SQL Server.

• Il tipo ST_Geometry in Oracle e PostgreSQL supporta la memorizzazione di cerchi parametrici ed ellissi quando vengono creati con SQL o ArcSDE API.

• Si è aggiunto un supporto tramite ArcSDE API per usare colonne native XML in geodatabase in IBM DB2, Oracle 11g, PostgreSQL e SQL Server. Puoi anche definire uno schema XML su queste colonne native XML in DB2, Oracle e SQL Server.

• Si è aggiunto inoltre un supporto per colonne varbinary (max) e datetime2 in geodatabase in SQL Server. (Datetime2 è disponibile solo in SQL Server 2008.)

Editing

L’ editing è stato migliorato e semplificato nei modi seguenti:

• La barra degli strumenti dell’Editor è stata riprogettata.

• E’ più facile aggiungere nuove feature tramite l’uso di feature template, che definiscono tutte le informazioni necessarie a creare una feature.

• La barra degli strumenti di Editor e la nuova finestra Create Features forniscono un accesso centralizzato per configurare template e tool utilizzati per costruire feature.

• L’ambiente di snapping è stato riprogettato e reso più semplice da gestire.

• Nuove mini-barre degli strumenti pop-up forniscono un accesso rapido agli strumenti di editing quando crei e modifichi feature.

• Dare il via ad una sessione di editing è più facile e funzionale. Ora puoi farlo cliccando col tasto destro su un layer o una tabella dalla tabella dei contenuti (TOC). Inoltre, quando inizi l’editing ed ArcMap trova errori o presenta suggerimenti circa le prestazioni, trovi una lista di voci con le relative indicazioni per correggerli.

• Sono stati riprogettati anche gli Attributi, le proprietà Edit Sketch ed altre finestre di editing. Per esempio, la finestra degli Attributi mostra le feature usando le proprietà del campo del layer, come field alias, e rispetta l’ordine del campo e le impostazioni di visibilità.

• Le selecting feature, i vertici di editing ed i segmenti delle feature esistenti sono stati semplificati. Si possono selezionare, aggiungere e togliere vertici multipli selezionandoli con un box sulla mappa.

• E’ più facile creare e modificare le annotation e dimension feature.

• Il parcel editing è stato migliorato.

Vedi What's new for editing in ArcGIS 10 per ulteriori informazioni.

Parcel editing

Con ArcGIS 10 è stato introdotto un nuovo Parcel Editor. La barra degli strumenti di Parcel Editor, disponibile con una licenza ArcEditor o ArcInfo, sostituisce il prodotto Survey Analyst Cadastral Editor.

Il precedente cadastral fabric dataset è stato pure sostituito dalla nuova parcel fabric.

Le parcel fabric hanno molte caratteristiche che rendono l’editing ed la manutenzione dei parcel database più efficienti. Le parcel fabric si possono creare in ArcCatalog all’interno di qualsiasi feature dataset. Le cadastral fabric esistenti in 9.2 e 9.3 si possono aggiornare ad una parcel fabric grazie al geoprocessing tool Upgrade Parcel Fabric o con script Python.

Alcune delle funzionalità disponibili con Parcel Editor includono le seguenti:

• La Parcel Editor toolbar include un menu a tendina che integra i comandi di Editing ed ha alcuni nuovi voci, compresi Plan Directory e Fabric Options.

• La Parcel Construction toolbar, disponibile con Cadastral Editor nelle versioni precedenti, è stata integrata nella finestra Parcel Details.

• La finestra Parcel Details include nuove caratteristiche, come Save e Join, Build Parcel e Join, Line String, Intersection ed il context menu di Parcel Editing.

• Il context menu di Parcel Editing include Bearing, Distance, Delta X,Y, Bearing/Distance, Tangent Curve, Parallel to Line, Perpendicular to Line e Deflection off Line.

• La finestra Parcel Details ha una nuova colonna nella tab Lines che ti permette di specificare differenti template per linee individuali quando si crea una nuova parcel o durante la creazione.

• Il Parcel Division tool ti consente di dividere le parcel esistenti all’interno di una parcel fabric in nuove parcel adottando determinate regole.

• Il Parcel Remainder tool ti consente di tagliare una nuova parcel in una parcel esistente nella parcel fabric. Questo fa fronte alle descrizioni legali che escludono solo una porzione di un parcel più grande.

• Parcel Editor ha un meccanismo di Merge che ti permette di usare gli attributi esistenti da altre parcel per trasferire e specificare certi tipi di linea che risultano da tale combinazione.

Vedi What's new for editing in ArcGIS 10 e vai sul fondo per ulteriori informazioni.

Dati Raster

Segue il riassunto delle nuove funzionalità sui dati raster. Vedi What's new for rasters in ArcGIS 10 per ulteriori infomazioni.

• Tutti i formati raster alla 10 usano la libreria GDAL. Il supporto GDAL abilita ArcGIS a leggere e scrivere più formati raster. Ci sono anche più compressioni TIFF disponibili quando si crea un file TIFF.

• Tutte le nuove piramidi vengono salvate come file OVR (ad eccezione del format ERDAS IMAGINE). I nuovi file OVR files sono più flessibili dal momento che funzionano con tutti i formati di file che consentono le piramidi. Allo stesso modo, i file OVR si possono comprimere in modo da non occupare troppo spazio sul disco.

• Le impostazioni di ambiente Raster Storage sono state aggiunte in ArcGIS.

• Si è introdotto un nuovo modello di dati raster: mosaic datasets. Il mosaic dataset viene supportato in ogni tipo di geodatabase (personal, file ed ArcSDE). Un mosaic dataset con ArcGIS Server richiede la licenza di estensione Image.

• Le nuove funzioni ti consentono di eseguire processing al volo nei tuoi mosaic dataset e sui layer dei raster dataset (in alcuni casi). Si possono collegare le funzioni, consentendoti di aggiungere processi multipli ai mosaic dataset o ai layer dei raster dataset.

• Nuovi tool di geoprocessing sono disponibili per dati raster, compreso il tool Split Raster, le Recursive Pyramids ed i tool Statistics.

• Due nuovi ambienti di impostazione sono disponibili per le opzioni di Raster Storage nei tool di geoprocessing: tipo di compressioni di piramidi e più tipi di compressioni TIFF.

• Puoi creare uno schema di colori personalizzato, all’interno della finestra di dialogo della Classificazione a Valori Univoci e salvarlo in un file CLR. Una volta che hai un file CLR, puoi utilizzarlo con il tool di geoprocessing Add Colormap per aggiungere lo schema di colori al tuo raster dataset.

• La classificazione stretched ora ha l’opzione di eseguire etichettature avanzate. Questo ti consente di specificare valori sulla scala di colori che vuoi visualizzare. Inoltre, puoi impostare una scala di colori avanzata tra ognuno dei valori specificati.

• Adesso ci sono quattro tab sulla finestra di dialogo Raster Options: Raster Dataset, Raster Catalog, Raster Layer e Mosaic Dataset.

• La finestra Image Analysis è ora una finestra dockable (può essere spostata ed agganciata all’estremità della finestra principale) che si può usare per eseguire rapidamente molte visualizzazioni ed elaborazioni sui raster. La si può aggiungere ad ArcMap tramite il comando Image Analysis sul menu di Window. Molte opzioni di visualizzazione che esistono in ArcMap sono riviste in modo da consentire un rapido accesso a questa finestra: contrasto, luminosità, trasparenza, gamma stretch, adattamento ad un intervallo dinamico, ignora valore di sfondo, nadir top-up, contrast stretch,metodo di ricampionamento, zoom alla risoluzione del raster, swipe layer e flicker layer.

• E’ stata aggiunta una tab di Correzione del Colore che fornisce opzioni aggiuntive di correzione del colore per i tuoi raster catalogs. Alcuni dei nuovi parametri disponibili comprendono il prestretching, più metodi di bilanciamento del colore, la capacità di specificare un tipo di superficie come target per il bilanciamento del colore e la possibilità di specificare un riferimento ad un’immagine come target per il bilanciamento del colore.

• La finestra Mosaic Color Correction ti consente di eseguire la correzione del colore di mosaic dataset. Le opzioni di bilanciamento del colore per il tuo mosaic dataset include l’opzione Exclude Areas, che può risultare particolarmente utile per le aree dove è difficile bilanciare il colore, per esempio l’acqua o le nuvole.

• Il pulsante della finestra Mosaic Color Correction può essere aggiunto a qualsiasi toolbar quando sei in modalità personalizzazione.

Tabelle ed attributi


In ArcGIS 10, si presenta una nuova opportunità di lavorare con tabelle di attributi ed alcune nuove caratteristiche.

• Si è aggiunta una finestra Table che visualizza tutte le tabelle degli attributi. Clicca sulla tab per attivare una tabella specifica. Puoi trascinare una tabella di un tab ed agganciarla alla finestra Table per visualizzare tabelle multiple contemporaneamente.

• La finestra Table include una barra degli strumenti che ti consente di interagire con gli attributi e la mappa.

• Puoi validare un join prima di crearlo validando i nomi ed i valori del campo join e determinando il numero di record agganciati con successo.

• Si è migliorato il field calculator per lavorare con gli script Python.

• Si è aggiunto un nuovo comando al menu della Table Options per ripristinare l’ordine del campo in una tabella alla sua posizione originale.

• Le feature adesso supportano i file attachment, che forniscono un modo flessibile per memorizzare informazioni aggiuntive in qualsiasi formato collegato alle tue feature. Per esempio, se hai una feature che rappresenta una costruzione, potresti usare gli attachment per aggiungere più foto della costruzione scattate da diverse angolazioni, con file PDF contenenti informazioni sull’edificio.

• Si sono aggiunte nuove opzioni per evidenziare i campi e per renderli in sola lettura alle Field Properties ed alle finestre di dialogo Layer Properties.

• Il tab Fields della finestra di dialogo delle Layer Properties ti offre un maggiore controllo su come i campi appaiono nelle applicazioni desktop comprendendo l’ordine dei campi, la loro evidenziazione e la possibilità di impostare i campi in sola lettura.

• Una nuova proprietà display expression sulla finestra di dialogo delle Layer Properties nel tab Display sostituisce il primary display field. La display expression può includere valori da più campi con aggiunta di testi.

• La finestra Identify è ora dockable.

• Puoi utilizzare VBScript per una visualizzazione avanzata con campi usati come hyperlink.

Vedere What's new for tables and attributes in ArcGIS 10 per ulteriori informazioni.

CAD

Segue un riassunto delle modifiche nelle funzionalità CAD. Vedere What's new for CAD integration in ArcGIS 10 per ulteriori informazioni.

• I Context menu ora abilitano alla conversione tramite il tasto destro dalle feature layers CAD ad un geodatabase e li aggiungono automaticamente alla tua mappa.

• Un nuovo tool—CAD To Geodatabase—ti consente di caricare in blocco dati CAD dalla finestra Catalog. Il tool CAD To Geodatabase automatizza una serie di procedure di conversione che includono importazioni di CAD annotation ed operazioni di merge per classi di nomi, tipi, attributi di feature identiche. Le feature class vengono aggiunte automaticamente alla mappa quando esegui il tool dalla finestra Catalog in ArcMap.

• Campi non essenziali (quelli non coinvolti nella visualizzazione o in operazioni di query) sono ora spenti in modo predefinito nelle tabelle degli attributi della feature class in ArcMap.

• La geometria spline ora è supportata.

• Il dataset CAD drawing è stato rimosso dalla visualizzazione nella finestra Catalog.

• ArcGIS 10 sconsiglia di usare i seguenti tool di CAD geoprocessing ma continuerà a supportarli nei modelli e negli script esistenti: Import From CAD, Set CAD Alias e Create CAD Xdata.

Metadati

• Tutte le voci nel tuo catalog ora hanno una base standard semplificata di proprietà di metadati che indica un titolo, un riassunto, una descrizione, tag, crediti ed un’immagine di anteprima. Accedendo puoi trovare maggiori informazioni sui tuoi dati nelle finestre Catalog e Search ed accedere a metadati più dettagliati.

• Viene introdotta una nuova finestra di dialogo: metadata editor.

• Per la gestione dei metadati puoi utilizzare i nuovi tool di geoprocessing: Importing Metadata ed Exporting Metadata.

• Viene supportata la validazione di metadati basata su uno schema XML standard di metadati.

Vedere What's new for metadata in ArcGIS 10.

Proiezioni di mappa e sistemi di coordinate

Si sono aggiunti nuovi sistemi di coordinate e di trasformazione:

• Definizioni dalle versioni EPSG Geodetic Parameter Dataset 6.15 tramite 7.1, includendo 181 trasformazioni geografiche (datum) e più di 280 sistemi di coordinate

• Supporto per la proiezione Berghaus Star

Mapping e visualizzazione


Ci sono stati numerosi cambiamenti per quel che riguarda il mapping e la visualizzazione. I tre paragrafi che seguono sono un riassunto delle modifiche generali in ArcMap. Molte di queste riguardano anche altre applicazioni desktop (ArcCatalog, ArcGlobe ed ArcScene). Tali paragarafi sono seguiti da altri sul mapping nello specifico e sulla funzionalità di visualizzazione.

Basi di ArcMap

• L’organizzazione dei menu e delle barre degli strumenti è migliorata e le icone sono state aggiornate.

• E’ facile accedere a basemap ben rappresentate per la tua mappa tramite il nuovo comando File > Add Data > Add Basemap. Non hai più bisogno di una licenza da ESRI per usare la basemap Bing Map.

• Nuovi controlli su finestre dockable facilitano la sistemazione e l’organizzazione della tua visualizzazione. Puoi sistemare le varie finestre con cui lavori in qualsiasi modo tu preferisca compreso sistemarle insieme come tab o nasconderle automaticamente (unpinning) di modo da evidenziarle solo quando ne hai bisogno.

• Più finestre sono dockable nella versione 10, comprese le finestre delle tabelle, la finestra Identify e le finestre degli attributi.

• La tabella dei contenuti adesso ha pulsanti allineati in alto invece di tab in basso. Si è aggiunta una visione totalmente nuova dei tuoi layer: Lista per visibilità.

Vedi What's new in ArcMap 10 basics.

Accedere ai tuoi dati

• Puoi accedere ai tuoi dati e gestirli tramite la nuova finestra Catalog nelle applicazioni desktop (ArcMap, ArcGlobe ed ArcScene).

• E’ facile accedere allo spazio di lavoro del progetto al quale appartiene la tua mappa attraverso la finestra Catalog ed un nuovo pulsante Home, aggiunto nelle caselle di dialogo.

• Puoi specificare il geodatabase predefinito che vuoi che la tua mappa usi ed accedervi cliccando sulla finestra Catalog e sulle caselle di dialogo.

• La nuova finestra Search nelle applicazioni desktop (ArcMap, ArcGlobe, ArcScene ed ArcCatalog) ti permette di cercare immediatamente mappe, dati e tool. Puoi cercare dati locali, dati enterprise e geodatabase, servizi di ricerca enterprise (interi cataloghi serviti usando ArcGIS Server 10) ed ArcGIS Online.

• Tutte le voci nel tuo catalogo ora hanno un insieme di base di proprietà di metadati semplice e standard chiamato item description. Puoi consultarlo per scoprire ulteriori informazioni sui tuoi dati nelle finestre Catalog e Search.

Vedi What's new for accessing your data in ArcGIS 10.

Condivisione di mappe e dati

• ArcGIS Online viene esteso in modo da accedere a mappe e dati non solo da ESRI ma anche dalla comunità GIS nel senso più ampio. Puoi caricare i tuoi dati in ArcGIS Online e renderli accessibili da chiunque usando ArcGIS Desktop o l’applicazione desktop di ArcGIS Explorer o dai membri di gruppi privati scelti da te.

• Puoi accedere ad ArcGIS Online e gestire i dati che carichi dall’interno di ArcMap con il nuovo comando File > ArcGIS Online. Puoi anche lavorare con ArcGIS Online via Web con il nuovo sito web ArcGIS.com.

• Il nuovo comando File > Add Data >Add Data From ArcGIS Online in ArcMap ti permette di cercare facilmente o sfogliare ArcGIS Online per dati da aggiungere ai tuoi documenti di mappa come layer.

• Il comando Create Layer Package in ArcMap è stato migliorato perchè tu possa validare il tuo layer prima di prepararlo e caricare il layer packet direttamente in ArcGIS Online.

• Nuove possibilità di map packaging ti consentono di condividere documenti di mappa completi con gli altri. Un map package contiene un documento di mappa (.mxd) ed i dati a cui si riferiscono i layer preparati in un unico comodo file portatile denominato map package (.mpk).

• Nuovo sito web: ArcGIS.com.

• Il sito di ArcGIS.com permette a chiunque di creare una Web map contenente uno o più servizi di mappa e condividere la mappa con altri come parte di ArcGIS Online. Si possono creare questi Web map mashup usando la mappa precostruita in ArcGIS.com o il nuovo programma basato su Silverlight ArcGIS Explorer Online. Non bisogna installare nessun software ArcGIS per creare una Web map. Si possono aprire le web map ArcGIS Online direttamente in ArcMap, dove compaiono come nuovi documenti di mappa.

Vedi What's new for sharing maps and data in ArcGIS 10.

Simboli e stili

Segue un riassunto della nuova funzionalità per simboli e stili. Vedere What's new for symbols and styles in ArcGIS 10 per ulteriori informazioni.

• In ArcGIS 10 è facile trovare simboli appropriati da applicare alle tue features ed ai grafici poichè puoi cercarli senza sapere in quale file di stile sono memorizzati. Puoi cercare all’interno degli stili che sono installati con ArcGIS o puoi limitare i risultati della ricerca facendo riferimento solo agli stili con i quali vuoi lavorare.

• Ogni simbolo ora ha tag di ricerca che descrivono le caratteristiche grafiche come il suo colore o il suo tipo. Questi tag possono essere modificati nella finestra di dialogo Style Manager.

• Puoi aggiungere o modificare i tag del simbolo dalla report view della finestra di dialogo Style Manager.

• La finestra di dialogo Style Manager è ora accessibile direttamente dalla Customize window ed è ridimensionabile.

• La report view ha una colonna aggiuntiva quando si seleziona una tabella di simboli (marker, line, fill o text) consentendoti di viasualizzare i tag di ogni simbolo e di modificarli se lo stile non è in sola lettura.

• Puoi sistemare il modo in cui i simboli sono organizzati nel symbol selector. Per esempio, puoi raggruppare simboli per i file di stile nei quali sono contenuti o per la loro categoria. Puoi evidenziare l’aspetto o il titolo di un simbolo cliccando sulla Large Icon o sul pulsante List rispettivamente.

• Posizionando il cursore su un simbolo nella finestra del Symbol Selector si apre un pop-up che elenca le informazioni relative ad ogni simbolo.

• Puoi ridimensionare la finestra del Symbol Selector per vedere più simboli alla volta.

Visualizzazione e navigazione della mappa

Seguono le nuove funzionalità per visualizzare la mappa e navigarci. Vedere What's new for map display and navigation in ArcGIS 10 per ulteriori informazioni.

• Sono stati aggiunti i layer basemap che consentono di navigare nella mappa senza dover aspettare che venga ridisegnata.

• E’ stata aggiunta una modalità QuickPan che permette un panning continuo in qualsiasi direzione, persino mentre si digitalizzano features.

• La finestra di dialogo Scale Settings ora consente di limitare la visualizzazione della mappa a certi livelli di scala.

• Le impostazioni della scala contengono delle pre-impostazioni per i più comuni schemi di Web map.

• Una tab nella finestra di dialogo in Options gestisce la visualizzazione della cache per servizi di mappa cached, basemap layer e ArcGlobe globe cache.

• L’accelerazione hardware permette un refresh più fluido su operazioni di pan e zoom per basemap layers.

• Il tab Data View della finestra di dialogo Option di ArcMap ha impostazioni per abilitare o disabilitare facilmente l’accelerazione hardware ed il controllo del comportamento della visualizzazione del basemap layer quando si trova in sessioni di desktop remoto.

• Puoi usare i tasti CTRL e SHIFT per modificare la velocità di navigazione con QuickPan ed i tasti freccia.

• Puoi abilitare la modalità QuickPan col tasto Q o tenendo premuto il tasto centrale del mouse.

• Si hanno sempre meno ridisegni di mappa mentre si lavora con ArcMap poiché la mappa non viene più ridisegnata completamente per adeguarsi al ridimensionamento del display.

Rappresentazioni


Sintetizziamo qui di seguito le nuove funzionalità per le rappresentazioni cartografiche. Vedere What's new for representations in ArcGIS 10 per ulteriori informazioni.

• Si sono aggiunti due nuovi effetti geometrici:

  • Jog Effect: Crea una linea dinamica con un jog di angolazione, posizione ed ampiezza specificati nella linea.
  • Arrow Effect: Crea una linea dinamica lungo una feature lineare con una freccia di stile ed ampiezza specificati.

• Si sono apportati miglioramenti nell’interfaccia dell’utente per quanto riguarda la visualizzazione della rappresentazione, il menu contestuale dello strumento Move ed il menu contestuale Set Size in Marker Editor:

  • La visualizzazione della rappresentazione ora mostra un valore per il numero di feature assegnate ad una regola nella classe di rappresentazione. Ciò appare nella finestra di dialogo come Show Feature Count ed è specifico per le classi di rappresentazioni individuali. Questa impostazione rimane al suo posto finché la finestra di dialogo è chiusa.
  • Il menu contestuale del tool Move fornisce ulteriori opzioni per specificare una distanza per muovere le feature selezionate. I parametri di distanza sono disponibili per controllare un movimento che non è meramente orizzontale o verticale.
  • Il menu del contesto Set Size in Marker Editor fornisce più opzioni per rifinire la dimensione della modifica degli elementi selezionati.
  • Si sono aggiunti una proprietà Posizione agli effetti geometrici Dash e gli stili di posizionamento del marker Along Line, Randomly Along Line, Along Outline e Randomly Along Outline. La proprietà Posizione ti consente di indicare dove un pattern dovrebbe iniziare ad essere visualizzato per una feature. Ciò è particolarmente importante per sincronizzare il posizionamento dei marker in relazione alle linee tratteggiate.

• Sono stati migliorati i messaggi di avvertimento per la personalizzazione. Il messaggio fornisce il nome completo di qualsiasi componente mancante in un geodatabase 10, come effetti geometrici di personalizzazione e stili di posizionamento del marker.

• E’ stato migliorato anche l’uso da parte dei feature layer delle rappresentazioni. Quando una feature class con rappresentazioni viene aggiunta alla tabella dei contenuti (TOC) in ArcMap, il layer viene simbolizzato automaticamente con il renderer di rappresentazione. La prima rappresentazione della feature class viene utilizzata in maniera predefinita quando sono disponibili classi di rappresentazioni multiple.

Layout e data frame

Di seguito il sunto delle nuove funzionalità per le impostazioni di pagina e per i data frame. Vedere What's new for page layouts and data frames in ArcGIS 10 per ulteriori informazioni.

• Le pagine basate sui dati (data-driven pages) ti abilitano a creare libri di mappa e prodotti di pagine multiple prendendo un singolo layout e iterando per una serie di feature.

• Un testo dinamico migliora l’elemento di testo del layout per aggiornare automaticamente utilizzando sistema, mappa o proprietà della pagina basata sui dati.

• I miglioramenti relativi alla proprietà del data frame sono stati apportati per supportare i flussi di lavoro di pagina basata sui dati.

Flussi di lavoro per automatizzare operazioni sulla mappa


• Il Geoprocessing è stato esteso in modo da poter manipolare mappe, layouts e layer con gli script Python. Questo rende possibile automatizzare molti dei più comuni flussi di lavoro sulla mappa.

• Grazie a Python, sei abilitato anche ad interagire con documenti di mappa in modalità batch, il che ti consente di eseguire e gestire un’ampia varietà di task per layer e mappe.

Vedere What's new for automating map workflows in ArcGIS 10 per ulteriori informazioni.

Dati temporali

ArcGIS 10 ha nuovi strumenti per lavorare con dati temporali.

• I layer hanno una nuova pagina di proprietà per impostare la posizione e la descrizione di informazioni temporali da una sorgente dati.

• ArcGIS Desktop ed ArcGIS Server riconoscono i dati temporali e contengono controlli di interfaccia utente (time slider) per visualizzare i dati temporali.

• I layer creati con informazioni temporali possono essere pubblicati utilizzando ArcGIS Server e fruiti da applicazioni client (SOAP/REST APIs).

Vedere What's new for temporal data in ArcGIS 10 per ulteriori informazioni.

Animazioni

Dalla versione ArcGIS 10, puoi esportare animazioni come sequenza di immagini (una serie di immagini fisse). Il formato delle immagini di output supportate sono Windows bitmap (*.bmp) e JPEG (*.jpg).

Le immagini sequenziali risultanti possono essere utilizzate come input di frame per creare video (AVI o formato QuickTime) usando lo strumento di geoprocessing Raster To Video. Inoltre puoi utilizzare le immagini di output in altri formati video (non supportati in ArcGIS) in software di creazioni video di terze parti.

Vedere What's new for animation in ArcGIS 10 per ulteriori informazioni.

Strumenti di selezione

Quattro nuovi strumenti di selezione sono disponibili in ArcGIS Desktop: Select By Polygon, Select By Lasso, Select By Circle e Select By Line.

Gli strumenti di selezione rispettano inoltre il nuovo ambiente di snapping.

Vedere What's new for selections in ArcGIS 10 per ulteriori informazioni.

Grafici

Le seguenti funzionalità sono novità per i grafici:

• I grafici sono disponibili in ArcGlobe ed ArcScene.

• Tre nuovi tipi di grafici sono ora supportati: Bubble graph, Bar Min and Max graph ed Polar graph.

• Si sono aggiunti nuovi strumenti di geoprocessings: Make Graph e Save Graph. Questi strumenti ti consentono di creare e salvare grafici in modo da visualizzare i dati di output data o i risultati di analisi di un modello o di un flusso di lavoro.

Vedere What's new for graphs in ArcGIS 10 per ulteriori informazioni.

Report

Ci sono diversi nuovi strumenti di reporting disponibili:

• Un menu di report, accessibile dal menu View menu della barra di menu principale

• Il Report Wizard, che ti accompagna passo per passo per la creazione di un report

• Il Report Viewer, che ti consente di avere un’anteprima del report

• Il Report Designer, che ti permette di modificare le proprietà di un report esistente

Vedere What's new for reports in ArcGIS 10 per ulteriori informazioni.

Altro

• ArcGIS ha un ambiente di snapping preconfigurato, utilizzato dall’editor e dagli strumenti di misura. Puoi eseguire snap su punti, edit, intersezioni, punti di mezzeria o sketch. Vedere About snapping per ulteriori informazioni.

• Lo strumento Measure in ArcMap ha nuove opzioni che ti permettono di specificare il tipo di misura quando misuri le distanze. Le opzioni sono Planar (quando lavori con un sistema di coordinate proiettato è predefinito), Geodesic (quando lavori con un sistema di coordinate geografico è predefinito), Loxodrome e Great Elliptic. Vedere Measuring distances and areas per ulteriori informazioni.

Geoprocessing ed analisi


Sono state apportate diverse modifiche al geoprocessing. I seguenti paragrafi forniscono un riassunto dei cambiamenti e delle nuove funzionalità. Per ulteriori informazioni, vedere il libro "What's new in geoprocessing" (cosa c’è di nuovo nel geoprocessing) nell’help. Per cominciare, vedi What's new for geoprocessing in ArcGIS 10.

Generale

• Gli strumenti di geoprocessing ora sono eseguiti in background, lasciandoti così lavorare con ArcMap mentre lo strumento esegue il suo compito.

• Si è sostituita la funzionalità ArcToolbox con la finestra Search, la finestra Catalog e la finestra Results. La finestra ArcToolbox è ancora disponibile nella versione 10 ma non viene più considerata il metodo primario per trovare ed usare gli strumenti.

• Un nuovo menu Geoprocessing è stato introdotto nella barra degli strumenti Standard. Tale menu contiene tutte le opzioni per configurare il geoprocessing così come i sei strumenti.

• Ora puoi aggiungere i tool a qualsiasi menu o barra degli strumenti.

Python ed ArcPy

• ArcGIS installa la versione 2.6 di Python.

• La finestra Python sostituisce la finestra Command Line. Puoi eseguire tool in stile command line nella finestra Python, come hai sempre fatto nella precedente finestra Command Line. In ogni caso, puoi fare molte più cose con la finestra Python che con la finestra Command Line: puoi eseguire codice Python all’interno della finestra Python, non solo strumenti di geoprocessing.

• Il site package ArcPy viene installato con ArcGIS. Il site package è il termine di Python per definire una libreria che aggiunge ulteriori funzioni a Python. Il site package ArcPy sostituisce arcgisscripting nel tuo codice Python.

• ArcPy contiene molti importanti moduli, incluso il modulo di mapping per interagire con ArcMap e creare atlanti, il modulo Spatial Analyst per utilizzare Map Algebra ed il modulo Geostatistical Analyst, che contiene classi per impostare ricerche di vicinanze complesse.

Strumenti

• Si sono aggiunti sette strumenti model only (solo modello). Tali strumenti lavorano solo in ModelBuilder. Sono: Calculate Value, Collect Values, Get Field Value, Merge Branch, Parse Path, Select Data e Stop.

• Si sono aggiunti più di 50 strumenti per geoprocessing di base.

• Puoi proteggere i tuoi modelli e script con una password. Ciò impedisce di modificare il tuo modello e lo strumento di script mentre consente di utilizzarlo e cancellarlo. Non si può visualizzare un modello protetto da password. Quando lo si copia, la protezione della password permane.

• Puoi importare il tuo file *.py nel tool (in effetti, devi farlo per proteggere con una password uno script tool). Ciò significa che non è necessario avere un diverso file *.py per il tuo script tool per lavorare. Una volta che il file *.py viene importato, puoi esportarlo di nuovo (ammesso che tu conosca la password, se ce n’è una).

ModelBuilder

• La barra degli strumenti ed il menu ModelBuilder sono stati aggiornati.

• Adesso sono supportati undo e redo (annulla e rifai).

• Ora gli elementi di un Model hanno i ToolTip.

• La spaziatura predefinita tra elementi è stata modificata da 30 a 15.

Iteratori

• Gli iteratori sostituiscono l’opzione serie in Model Properties.

• Dodici iteratori sono stati aggiunti per l’iterazione o per i task ripetitivi in un modello. Dieci di questi iteratori sono implementati come tool di geoprocessing.

• Utilizzare un iteratore in un modello disabilita le opzioni di iterazione della 9.3 in Model Properties ed imposta un valore predefinito di -1, il che significa che il modello viene eseguito un numero illimitato di volte oppure si basa sul numero di input in un iteratore e non su un numero impostato.

• Se un modello che contiene un iteratore viene esportato ad uno script Python, lo script non include la logica di iterazione.

Sviluppo delle applicazioni Desktop

ArcGIS SDK (software developer kits)

ArcGIS 10 introduce molte nuove ed innovative caratteristiche che rendono più semplice agli sviluppatori personalizzare ed estendere le applicazioni ArcGIS. Il nuovo Desktop Add-In Model fornisce agli sviluppatori un framework specifico per la creazione di funzionalità di personalizzazione. Gli utenti possono condividere questi file add‐in senza dover fare ricorso a programmi di installazione od a registrazioni COM. Si possono installare file Add‐in copiandoli in una cartella condivisa e disinstallare cancellandoli da tale cartella. Gli Add-in offrono un sottoinsieme delle personalizzazioni più comuni: tasti, tool, tendine, barre degli strumenti/menu, finestre dockable ed estensioni per l’applicazione e l’editor.

Vedere ArcObjects SDK per Microsoft .NET Framework e l’help della piattaforma Java sul Resource Center per dettagli sulla nuova funzionalità per ArcGIS 10.

GIS Mobile


I seguenti paragrafi descrivono le nuove funzionalità in ArcGIS Mobile. Vedere What's new for mobile GIS per ulteriori informazioni.

Migliorie nell’utilizzo delle applicazioni portatili

• Si sono apportati miglioramenti per l’accesso touch screen con testo e opzioni menu più ampi e più leggibili, elenchi che scorrono grazie a semplici movimenti e flussi di lavoro migliorati che sono più intuitivi e flessibili.

• Il task della View Map è stato arricchito con funzionalità per misure lineari, areali, feature e supporto per nuovi tipi di basemap connesse e disconnesse.

• Il flusso di lavoro del task Collect Feature è stato perfezionato e razionalizzato. L’uso del GPS data collection è stato semplificato: ora include un pulsante “start and stop” per calcolare la media delle posizioni GPS ed allo stesso tempo garantirti la flessibilità per visualizzare le mappe o lo status GPS durante il procedimento di calcolo delle posizioni. C’è un nuovo metodo streaming per costruire linee e poligoni in grado di filtrare le posizioni tramite la distanza o l’intervallo di tempo e posizionare la geometria con un offset laterale rispetto alla posizione ricevuta in realtà.

• Usando Search task, ora puoi salvare i tuoi criteri di ricerca e memorizzarli con il tuo progetto. La prossima volta che apri il progetto, puoi eseguire la ricerca che hai salvato.

• Il task Synchronize ora ha opzioni per postare automaticamente gli edit nel server. Puoi postare le modifiche quando le feature vengono inserite od aggiornate, in un intervallo di tempo stabilito, oppure quando il dispositivo è in carica.

• Un nuovo task (View Field Crew) abilita alla collaborazione di campo tra gli operatori sul campo. Usando il task View Field Crew, puoi vedere dove si trovano gli altri operatori sulla mappa per contattarli tramite e-mail, SMS o chiamandoli direttamente.

Estensione di supporto di piattaforme di applicazioni per includere dispositivi touch screen Windows

• Si aggiunge un supporto su dispositivi Windows che è stato ottimizzato per dispositivi touch screen ruggedized (concepito per resistere anche in condizioni critiche) che spesso vengono montati in un veicolo.

• Caratteristiche uniche nell’applicazione Windows includono una tastiera integrata al touch screen, skin per visualizzazione notturna e diurna e la possibilità di regolare la luminosità dell’applicazione stessa.

• Puoi rendere semitrasparenti i layer delle basemap in modo che il contenuto del layer di mappa risalti sulle basemap, fornendo contrasto visivo tra i layer.

Applicazioni aperte agli sviluppatori per fornire flussi di lavoro personalizzati

Usando .NET e le applicazioni come framework, puoi creare nuovi task che sono specifici per i tuoi flussi di business per la gestione dei dati di campo, modificare i task ESRI esistenti per fornire funzionalità aggiuntive o estendere l’applicazione per intero.

Gestione dei progetti semplificata usando Mobile Project Center

Il Mobile Project Center è una nuova applicazione mirata alla creazione e gestione dei progetti. Con il Mobile Project Center puoi:

• Creare progetti che sono gestiti all’interno di cataloghi su un project server.

• Definire i contenuti della tua mappa, che può contenere layer operativi multipli o servizi mobili, sempre che i loro riferimenti spaziali corrispondano.

• Creare task ed estensioni usando il framework dell’applicazione, poi utilizzarli in progetti.

GIS su Web


I seguenti paragrafi forniscono solo qualche cenno alle nuove funzionalità in ArcGIS Server. Vedi What's new in ArcGIS Server 10 per una lista più dettagliata delle migliorie.

Generale

• L’installazione di ArcGIS Server per Microsoft .NET Framework è stata divisa in due setup per conferire una maggiore flessibilità alle componenti che desideri installare. Puoi scegliere di installare solo GIS server e servizi, solo l’interfaccia di amministrazione delle Web application, o entrambe.

• Il Server toolbox ora contiene un toolset per l’estrazione di dati. Questi tool ti aiutano ad esporre dati da scaricare interattivamente attraverso servizi di geoprocessing.

• Il Server logging è stato tolto dalle singole macchine SOC per migliorare le performance. Puoi anche impostare un limite sul numero di log da creare.

• Il server può ora controllare servizi in sospeso a causa di connessioni dati non valide ed aggiornare le connessioni, se necessario. Il server controlla anche periodicamente lo stato dei servizi così può recuperarli più rapidamente dopo un downtime non pianificato.

• ArcGIS Server per Java Platform include un Map Path Editor per ripristinare le connessioni dati in documenti di mappa (.mxd) e in map service definition (.msd). Ciò è utile in ArcGIS Server su Unix/Linux.

Servizi

• Un nuovo feature service ti consente di esporre feature geografiche per l’editing via web.

• Un nuovo servizio di ricerca permette ad altri all’interno della tua organizzazione di cercare ed aggiungere facilmente dati GIS.

• Il geometry service contiene molti nuovi metodi per supportare diversi scenari per l’editing via web.

• I servizi basati su MSD adesso supportano Maplex, rappresentazioni cartografiche ed i vari nuovi tipi di layer introdotti in ArcGIS 10.

• I servizi di mappa espongno numerose nuove proprietà ed informazioni dal documento di mappa e dai dati sottostanti. Questi includono feature attachment, dati temporali, domini, relate, tabelle, campi raster e simbologia.

• Image service possono adesso essere pubblicati da mosaic dataset introdotti in ArcGIS 10. Image services supportano molte nuove opzioni di configurazioni e consentono nuove operazioni.

• I servizi Network analysis supportano tre nuovi solver: OD cost matrix solver, vehicle routing problem solver e location-allocation solver.

• I servizi Geocode supportano un formato a singola linea di un indirizzo.

• I layer in un servizio WMS possono essere riferiti usando un name string.

• Altre diverse migliorie sono state apportate al servizio OGC, particolarmente con supporto SLD e la quantità delle informazioni dei servizi esposti dalla tua sorgente di dati GIS.

Caching della mappa

• I tile cache possono essere memorizzati in un formato compatto che è più veloce da copiare ed occupa meno spazio su disco.

• Un nuovo formato di immagini mixate ti consente di avere più tipi di immagini in una sola cache. Ciò facilita la sovrapposizione di cache JPEG su altri layer; tile con colore di sfondo possono essere memorizzati come PNG parzialmente trasparenti.

• Si possono aggiungere cache direttamente in ArcMap o ArcGlobe come un raster dataset usando il pulsante Add Data.

• Nuovi strumenti ti consentono di importare ed esportare tile cache verso o da cartelle cache. Ciò rende più facile la collaborazione nella costruzione della cache.

• La cache scala meglio sulle installazioni distribuite di ArcGIS Server. Il server può prima creare i tile in una cartella locale, poi copiarli in una posizione condivisa di cache. Grazie alla nuova memorizzazione compatta della cache, la copia avviene molto più velocemente.

• ArcGlobe ed ArcGIS Explorer sono stati ottimizzati per disegnare certi tipi di cache 2D molto velocemente.

REST API

• AMF ora è supportato come formato di output che può migliorare la visualizzazione di risultati di interrogazioni e di geoprocessing quando si lavora con ArcGIS API per Flex.

• Le network analysis closest facility e service area sono ora disponibili attraverso REST.

• Le estensioni di server object (solo per servizi di mappa) sono adesso supportate, consentendoti di esporre un codice personalizzato in ArcObjects attraverso REST.

• Puoi usare well-known text (WKT) per specificare sistemi di coordinate, consentendoti personalizzazioni sui parametri di sistemi di coordinate.

• La cache dell’admin REST può ora essere ripulita via codice.

Distribuzione su Amazon EC2

ESRI offre ora un Amazon Machine Image (AMI) che si può utilizzare per distribuire ArcGIS Server in Amazon Elastic Compute Cloud (EC2). Distribuire nel cloud semplifica l’installazione di ArcGIS Server e ti consente di scalare in base all’hardware di cui hai bisogno.

Migliore integrazione SharePoint

La versione ArcGIS Server 10 sarà seguita entro breve dalla versione 2.0 di ArcGIS Mapping per SharePoint. La versione 2.0 includerà supporto al geoprocessing, integrazione con ArcGIS.com, miglioramenti nel geocoding, supporto per connessioni SharePoint Web Part, theming e layer GeoRSS.

Estensioni di ArcGIS


Segue un riassunto delle nuove funzionalità e delle modifiche alle estensioni di ArcGIS.

ArcGIS 3D Analyst

I seguenti paragrafi sintetizzano le nuove funzionalità e le modifiche alla estensione di ArcGIS 3D Analyst extension. Vedere What's new in ArcGIS 3D Analyst 10 per ulteriori informazioni.

Generale

• L’ambiente standard di editing è disponibile sia all’interno di ArcGlobe sia di ArcScene, consentendo la creazione e la gestione delle feature con z.

• Layer video in full-motion georeferenziati, si possono “spalmare” sulla superficie di ArcGlobe.

• La simbologia puntuale per dimensioni e rotazione completa 3D si possono impostare direttamente negli attributi della feature.

• Si sono aggiornati gli stili tridimensionali con nomi e tag più descrittivi, il che porta a risultati significativamente migliori quando usi il Search dalla finestra di dialogo Symbol Selection.

• E’ stata migliorata l’impostazione delle due principali proprietà 3D: Base Heights e Extrusion. Ora è più facile completare queste impostazioni con la visualizzazione di grafici che dimostrano l’effetto delle modifiche alle proprietà mentre le modifichi.

• Il modello di navigazione è stato riprogettato per semplificare la navigazione nella 3D view.

• Puoi esportare immagini grandi (maggiori che nel desktop) da ArcGlobe ed ArcScene.

• Creare graph in ArcGlobe ed ArcScene.

• Accesso a layer package, servizi di mappa e servizi globe direttamente da ArcGIS Online con la nuova voce File > Add Data > Add Data From ArcGIS Online in ArcGlobe. Tale voce lancia il nuovo sito web ArcGIS.com e ti permette di aggiungere le basemap in ArcGIS Online basemaps nel tuo globo. Puoi anche cercare ulteriori dati pubblicati da ESRI o dalla comunità GIS.

• Il comando Create Layer Package in ArcGlobe è stato migliorato in modo da validare il tuo layer prima che lo crei e da caricarlo direttamente in ArcGIS Online. Puoi gestire i dati che hai caricato sul nuovo sito web ArcGIS.com.

• Si sono aggiunti 27 strumenti di geoprocessing:

 Add Z Information

 Raster To Multipoint

 Terrain To Points

 Feature To 3D By Attribute

 Locate Outliers

 Construct Sight Lines

 Add Surface Information

 Surface Aspect

 Surface Contour

 Surface Difference

 Surface Slope

 Difference 3D

 Inside 3D

 Intersect 3D

 Intersect 3D Line With Multipatch

 Is Closed 3D

 Near 3D

 Union 3D

 Change Terrain Resolution Bounds

 Skyline

 Skyline Barrier

 Skyline Graph

 Append Terrain Points

 Delete Terrain Points

 Replace Terrain Points

 Copy TIN

 LandXML To TIN

Miglioramenti nelle performance di visualizzazione

• Un rendering più rapido delle cache di mappa 2D in ArcGlobe, reducendo il bisogno di creare cache sia 2D sia 3D per condividerne il contenuto

• Miglioramenti nelle performance di visualizzazione del testo 3D utilizzando un sistema di controllo conflitti per assicurare che il testo non si sovrapponga nella visualizzazione

• Miglioramenti nelle performance di visualizzazione di textured multipatche attraverso una gestione automatica delle texture

• Miglioramenti nelle performance di visualizzazione di vettori 3D usando lo stencil buffer OpenGL per vettori che vengono vincolati alla superficie

• Impostazioni per l’allocazione della memoria vengono memorizzate all’interno del documento ArcGlobe, che ti consente di configurare in maniera diversa ogni mappa 3D map, così da utilizzare la giusta quantità di memoria per i layer contenuti in essa.

Analisi delle feature 3D

• Si sono aggiunti operatori booleani per il 3D, come Intersect 3D, Union 3D, ed Inside 3D, che si possono usare in multipatch chiusi.

• Strumenti di geoprocessing, come Skyline e Skyline Barrier, sono stati aggiunti ed espongono analisi di vettori 3D vector specificatamente per flussi di lavoro di città virtuali.

• Gli strumenti di geoprocessing esistenti sono stati migliorati per lavorare meglio con il 3D. Ad esempio, la finestra di dialogo Select by Location utilizza distanze 3D ed oggetti multipatch possono partecipare nel tool Line Of Sight.

• Puoi misurare interattivamente in 3D: distanza lungo una superficie, altezza di un oggetto 3D, distanza tra due punti in 3D, distanza dall’osservatore (in altre parole, quanto dista un oggetto).

• Si è aggiunto supporto completo per la connettività 3D al network dataset.

I terrain dataset sono stati estesi

Si sono aggiunte le seguenti funzionalità per i terrain dataset:

• Più strettamente integrati con sorgenti lidar

• Strumenti per trovare errori nei dati

• La possibilità di eseguire operatori analitici direttamente sui terrain dataset

• Importazione della simbologia layer per terrain

• Renderer di terrain contour e point

• Profilo con graph di terrain point

• Reimpostazione di classi di range di elevazioni basate sull’estensione corrente di visualizzazione

• Supporto per punti di ancoraggio

• Ottimizzazione dell’overview del terrain

I TIN datasets sono stati estesi

Tra le nuove funzionalità TIN ci sono le seguenti:

• Si è aggiunto il supporto per Delaunay vincolato, riferimento spaziale ArcGIS, persistenza del tag edge e della sorgente di node.

• Importazione della simbologia layer per TIN.

• Si è aggiunto il renderer per il TIN contour.

• Reimpostazione di classi di range di elevazioni basate sull’estensione corrente di visualizzazione.

ArcGIS Geostatistical Analyst

Segue un riassunto delle nuove funzionalità in ArcGIS Geostatistical Analyst. Vedere What's new in ArcGIS Geostatistical Analyst 10 per ulteriori informazioni.

• Si sono aggiunti undici strumenti geoprocessing:

 Diffusion Interpolation With Barriers

 Kernel Interpolation With Barriers

 Create Spatially Balanced Points

 Densify Sampling Network

 Global Polynomial Interpolation

 IDW

 Local Polynomial Interpolation

 Radial Basis Functions

 Extract Values To Table

 Cross Validation

 Subset Features

• Si sono apportati miglioramenti ai wizard di Geostatistical Analyst:

 Puoi ridimensionare le finestre.

 Il layout è stato riprogettato e contiene nuove funzionalità.

 La visualizzazione del semivariogramma è stata migliorata.

 Puoi accendere e spegnere i dataset e la surface preview.

 Metodi di interpolazione con barriere sono stati aggiunti.

 Local Polynomial Interpolation è stata migliorata per includere output di condizion number, previsione di errori e di previsioni.

• Un campo per indicare un errore costante è stato aggiunto allo strumento Gaussian Geostatistical Simulations.

• Local Polynomial Interpolation ed IDW possono ora gestire input molto grandi di dataset. Ad esempio, IDW con circa 2 miliardi di input di punti (contenuti in più di 400,000 multipoint) hanno prodotto un output raster di 250 colonne per 250 righe in 20 ore.

• Tutti i tipi di raster sono supportati.

ArcScan per ArcGIS

ArcScan usa feature template con vettorializzazione interattiva ed automatica. Feature template sono parte del miglioramento dell’editing disponibile in ArcGIS 10.

Vedi What's new in ArcScan for ArcGIS 10 per ulteriori informazioni.

Maplex per ArcGIS


La seguente lista sintetizza le nuove funzionalità in Maplex. Vedere What's new in Maplex for ArcGIS 10 per ulteriori informazioni.

• E’ stato aggiunto il supporto per documenti di mappa in sola lettura che utilizzano Maplex. Documenti di mappa in sola lettura mantengono tutte le innumerevoli proprietà di etichettatura di Maplex senza tornare ad usare l’ESRI standard label engine.

• L’etichettatura di Maplex è supportata nei servizi di mappa ottimizzati. Le mappe che usano Maplex ora possono beneficiare delle prestazioni migliorate dall’engine di visualizzazione utilizzato nei servizi di mappa ottimizzati.

• Il parametro di etichettatura Repeat è stato ampliato per consentire di ripetere un’etichetta all’interno dello stesso poligono.

• E’ stata aggiunta un’opzione allo stile Boundary Placement per supportare l’etichettatura poligonale lungo il lato del perimetro che non ha un poligono direttamente adiacente.

• Si è aggiunta un’opzione di posizionamento per il poligono per supportare l’etichettatura di poligoni che contengono “buchi”.

• E’ migliorata la qualità del posizionamento delle etichette in generale sia per i contour che per i corsi d’acqua.


ArcGIS Network Analyst


Segue una panoramica delle nuove funzionalità dell’estensione ArcGIS Network Analyst. Vedere What's new in ArcGIS Network Analyst 10 per ulteriori informazioni.

• I network dataset ora sono abilitati al 3D, cosa che consente di modellare ed eseguire analisi di network ad esempio su percorsi all’interno di edifici.

• Puoi memorizzare informazioni sulla storicità del traffico. Usare historical traffic aiuta a fare percorsi ed indirizzare verso più accurati tempi di viaggio e di arrivo; inoltre, aiuta a trovare il miglior percorso basato su un orario specifico del giorno e giorno della settimana.

• Puoi adoperare restrizioni orarie sulle network. Simili ai modelli di historical traffic che considerano i costi basati sul tempo che variano a seconda dell’orario, le restrizioni orarie permettono e proibiscono di attraversare certi elementi della rete in alcuni orari del giorno. Così, è possibile modellare strade che diventano a senso unico durante le ore di punta per regolare la direzione di flusso del traffico o le manovre che sono proibite in determinati orari del giorno.

• Puoi ricostruire un network in modo incrementale. Quando crei, modifichi, o cancelli delle feature che partecipano in un network dataset, la network necessita di essere ricostruita per recepire le modifiche. Precedentemente, l’intero network dataset sarebbe stato ricostruito indipendentemente dalle modifiche effettuate. Ora il processo di ricostruzione ricostruisce la network solo nelle aree modificate, che sono interessate alle feature modificate. Questo riduce drasticamente il tempo per ricostruire grandi network.

• Puoi usare la finestra di Catalog in ArcMap per modificare le proprietà di un network dataset. Perciò, non è più necessario aprire e chiudere le applicazioni ArcGIS per modificare la network.

• Due nuovi strumenti di network geoprocessing sono stati aggiunti: Upgrade Network e Dissolve Network.

• Un solver di location-allocation è stato aggiunto, cosa che ti aiuta a scegliere le facilities basate sulla loro potenziale interazione con i punti dove è presente la domanda.

• Puoi creare barriere di punti, linee e poligoni. Puoi anche ridurre il viaggio tramite barriere o usarle per modificare temporaneamente il costo degli elementi sottostanti la network.

• Una nuova opzione, No U-turn, è stata aggiunta alla proprietà curb approach. Le network location (come uno stop su una route o un ordine su un problema di vehicle routing), hanno una proprietà per il curb approach, che specifica la direzione dalla quale può arrivare un veicolo e dalla quale partire rispetto ad una location della network. Quando viene scelta l’opzione No U-turn, un veicolo si può avvicinare alla network location da entrambe le direzioni, tuttavia quando parte il veicolo deve continuare nella stessa direzione dalla quale è arrivato. Ciò è particolarmente utile quando si stabiliscono percorsi per veicoli grandi che si possono avvicinare allo stop da entrambe le direzioni ma non possono fare inversione lì.

• Escludere porzioni di network quando si caricano le locazioni. Selezionando tale opzione, che è una nuova proprietà dei layer di network analysis, puoi assicurarti che le location di network siano poste solo su porzioni attraversabili della network. Ciò impedisce di porre network locations su elementi che non possono essere raggiunti a causa di restrizioni o barriere.

• Il problema di vehicle routing ti lascia aggiungere interruzioni multiple per ogni route. Quindi, invece di modellare solamente la pausa pranzo di un guidatore, puoi anche includere pause al mattino ed al pomeriggio.

• Non hai più bisogno di impostare inizio e fine dei depositi per route in un problema di vehicle routing. Se una proprietà di Start Depot è nulla in una route quando si genera una soluzione, la route parte dal primo ordine assegnato. Allo stesso modo, se l’end depot è nullo, la route finisce all’ultimo ordine assegnato. Perciò, in ArcGIS 10, le route possono sia cominciare sia finire con ordini.

• Ora ci sono coclassi di parametri server parameter e coclassi di risultati server disponibili in SOAP ed in GIS Server API, per lavorare con il Vehicle Routing Problem, Location-Allocation e Origin-Destination Cost Matrix.

• Sono stati aggiunti REST endpoints per Closest Facility e Service Area.

• Puoi salvare i risultati di un’analisi sul server e riutilizzare il layer in richieste successive per avvalerti di soluzioni esistenti.


 
ArcGIS Schematics


In ArcGIS 10, l’architettura sottostante di schematics è cambiata. Di seguito sintetizziamo tali cambiamenti. Vedere What's new in ArcGIS Schematics 10 per ulteriori informazioni.

• I diagrammi ora sono memorizzati come feature, cosa che elimina la necessità di configurare proprietà di schematic properties per simbologia ed etichettatura.

• I diagrammi schematic sono bloccati mentre vengono modificati. Ciò impedisce ad altri utenti di modificare i diagrammi ed eventualmente di sovrascrivere le tue modifiche.

• E’ stata implementata una migliore gestione per diagrammi sottoposti a versioning.

• Un campo UpdateStatus è stato aggiunto ai diagrammi, cosa che ti permette di classificare con simboli utilizzando questo campo per vedere gli aggiornamenti apportati.

• Lo strumento di configurazione ha una nuove interfaccia.

• Un nuovo algoritmo è usato per la Geo-Compression.

• Nuove regole standard sono state aggiunte per gli attributi.

• Puoi impostare più di un nodo come radice di un albero gerarchico.

ArcGIS Spatial Analyst


Segue una lista delle nuove funzionalità nell’estensione ArcGIS Spatial Analyst. Vedere What's new in ArcGIS Spatial Analyst 10 per ulteriori informazioni.

• La nuova Python Map Algebra fornisce un modo ricco ed integrato di eseguire map algebra. La sintassi per le espressioni rimane principalmente la stessa ed offre i seguenti vantaggi:

• Vi si può accedere da una finestra interattiva integrata Python od attraverso il tuo ambiente di sviluppo (IDE) di Python scripting.

• Fornisce totali capacità di autocompletamento.

• Tutti gli strumenti di Spatial Analyst sono disponibili nella sintassi di map algebra.

• Un set di operatori matematici e logici viene supportato.

• Strumenti ed operatori individuali si possono unire per creare una singola operazione complessa.

• Espressioni locali (per-cell) sono state ottimizzate per migliorare le performance.

• Le classi Python sono disponibili per certe collezioni di parametri ed abilitano facilmente il riutilizzo così come un più facile accesso nella programmazione per parametri individuali. Segue la lista di tali classi:

• Neighborhoods

• Remap tables

• Weighted Overlay and Weighted Sum tables

• Vertical and Horizontal Factors

• Topo To Raster input

• Fuzzy membership

• Con tutti i vantaggi che il geoprocessing offre, la selezione limitata di funzionalità disponibili nella precedente Spatial Analyst toolbar è stata rimossa in ArcGIS 10. Gli strumenti interattivi (Contour, Histogram) sulla toolbar rimangono come prima. Al posto della finestra di dialogo Raster Calculator in ArcGIS 9.3 e versioni precedenti, alle espressioni di Map Algebra si può accedere col nuovo strumento Raster Calculator o direttamente nella finestra Python.

• Adesso il motore Spatial Analyst ha capacità native di lettura/scrittura. La riduzione del tempo di elaborazione ed il consumo di spazio disco è resa possibile evitando la creazione e gestione interna di file temporanei di scratch.

• Due nuove interfacce —IRasterAnalysisGlobalEnvironment e IRasterOpBase—sono stati introdotti per consentire l’elaborazione di raster data in Spatial Analyst usando ArcObjects senza la necessità di convertire al formato ESRI Grid.

• Quattro nuovi strumenti di geoprocessing di Spatial Analyst sono stati aggiunti: Extract Multi Values To Points, Iso Cluster Unsupervised Classification, Fuzzy Membership e Fuzzy Overlay. Inoltre, le funzionalità di Raster Calculator e Zonal Histogram dalla precedente toolbar ora sono implementati come strumenti di geoprocessing.

• Lo strumento Focal Statistics ha un nuovo algoritmo che migliora significativamente le sue performance, specialmente quando usi grandi neighborhood, ad esempio neighborhood rettangolari di 12 x 12 o più grande e neighborhood circolari con un raggio di 5 o più.

• E’ stata introdotta una nuova toolbar, Image Classification. Sono incluse le seguenti funzionalità:

• Creazione interattiva e modifica di campioni di training

• Una finestra di dialogo Manager per gestire le classi ed i campioni di training

• Tre nuovi display per valutare il campione di training: la finestra di valutazione degli istogrammi, la finestra di valutazione degli scatterplot e la finestra delle statistiche

• Gli strumenti esistenti di Multivariate dello Spatial Analyst sono accessibile tramite la toolbar di Image Classification

ArcGIS Tracking Analyst


Segue una lista delle nuove funzionalità nell’estensione ArcGIS Tracking Analyst. Vedere What's new in ArcGIS Tracking Analyst 10 per ulteriori informazioni.

• Un nuovo servizio action di avviso via mail ti consente di inviare automaticamente un messaggio e-mail personalizzabile ai destinatari selezionati quando si verificano determinate condizioni.

• Un nuovo servizio action di modifica dei dati ti consente di modificare i valori dei dati in un messaggio entrante di dati usando funzioni personalizzate quando si verificano certe condizioni.

• Un nuovo servizio action di riassunto dei dati ti consente di generare automaticamente report che riassumono i dati provenienti da tracking in tempo reale e configurati per un determinato intervallo.

• Si sono aggiunti tre nuovi trigger:

  •  Il trigger Arriving ti permette di eseguire un’azione quando un oggetto tracciato entra in poligono.

  •  Il trigger Departing ti permette di eseguire un’azione quando un’oggetto tracciato esce da un poligono.

  •  Il trigger Track Crosses ti permette di eseguire un’azione quando un’oggetto tracciato entra a o esce o attraversa apparentemente un poligono.

• Si sono aggiunti nuovi modi di visualizzare i tracking layer. Questi consentono ai tracking layer di essere non cached o di esserlo solo parzialmente.

Soluzioni industriali

Difesa

Dalla versione ArcGIS 10, molte delle funzionalità nelle estensioni Military Analyst e MOLE sono ora native in ArcGIS. Military Analyst e MOLE sono ancora supportati, ma non è più necessario scaricare, installare ed imparare un’estensione separata per eseguire i tuoi task di difesa ed intelligence in ArcGIS.

Segue un riassunto delle modifiche in ArcGIS 10 che toccano le comunità che si occupano di difesa ed intelligence. Vedere What's new for defense and intelligence in ArcGIS 10 per ulteriori informazioni.

• Puoi adoperare feature templates per aggiungere feature e simbologia militare alle tue mappe.

• E’ disponibile un nuovo layer package: MilitaryOverlay.

• E’ stato ampliato il supporto al Military Grid Reference System.

• Si sono aggiunti quattro nuovi strumenti di geoprocessing che si possono utilizzare per dati relativi alla difesa: Bearing Distance To Line, Table To Ellipse, XY To Line e Convert Coordinate Notation.

• Puoi scegliere quattro nuovi tipi di raster types quando li carichi: CADRG, CIB, DTED e NITF.

Ricerca di percorsi

Per la ricerca di percorsi c’è una nuova funzionalità:

• Ora puoi connetterti ai servizi di routing di ArcGIS Server e di ArcGIS online utilizzando la finestra di dialogo Find Route per il routing stradale in ArcMap.

• Il routing free di ArcGIS online ed i servizi di geocoding sono disponibili per uso predefinito nella finestra di dialogo Find Route che consente agli utenti di prendere le driving direction in ArcMap senza dover avere i propri dati stradali.

• Ora sono supportati: Geodatabase, shapefile e SDC network dataset.

Vedere What's new for finding routes in ArcGIS 10 per ulteriori informazioni.

Geocoding

Seguono le modifiche e le nuove funzionalità per il geocoding:

• La barra degli strumenti Geocoding in ArcMap include la nuova lista di Manage Address Locator e l’Address Input per il matching di indirizzi su single-line.

• La scheda Location nella finestra di dialog Find supporta la ricerca di posizioni per indirizzi, posti, punti di interesse o coordinate.

• I locator predefiniti sono locator che sono caricati automaticamente sulla mappa quando ArcMap si avvia. Alcuni servizi di geocode da ArcGIS.com ed il locator Military Grid Reference System (MGRS) sono disponibili come locator predefiniti.

• Il motore di geocoding è stato riprogettato per includere supporto per le seguenti caratteristiche:

  •  Immissione di indirizzi single-line

  •  Meno stili di address locator. Gli address locator si possono creare con o senza “zone” usando lo stesso stile di locator.

  •  Si possono ricercare gli indirizzi con un offset spaziale e location definiti con latitudine e longitudine.

  •  Si possono creare per geocoding internazionale gli stili degli indirizzi personalizzati con caratteri Unicode.

• Si sono aggiunti due nuovi strumenti di geocoding alla toolbox di Geocoding: Create Composite Address Locator e Reverse Geocode.

Vedere What's new for geocoding in ArcGIS 10 per ulteriori informazioni.

 

The END