• ESRI MapIt version 1.1 is available!

    We're proud to announce that version 1.1 of ESRI MapIt is now available for download.   Over the last four months, the MapIt product has been refined and optimized, and includes a multitude of enhancements.  Here's a quick look at what's new with MapIt features:

    • The Spatial Data Assistant supports working with SQL Azure databases; using custom ArcGIS Server locators for address matching; and viewing a subset of table data when selecting match fields.
    • The Spatial Data Service supports deployment into Windows Azure; use of GeoFields, which are fields that contain latitude and longitude values outside of the spatial geometry column type; and multiple spatial columns in a single table or view.  
    • The ArcGIS API for Microsoft Silverlight/WPF supports Silverlight 3, integrates with the Expression Blend 3 design experience, includes a set of pre-packaged Silverlight templates, and supports the use of the Expression Blend Behaviors API.  
    • ESRI Parts for Microsoft SharePoint includes an enhanced configuration experience for the Map Web Part and two new components, a Geolist Web Part and Location Map data type.  The Geolist displays interactive attributes for SharePoint lists rendered in a Map Web Part.  The Location Map data type provides an interactive map to define locations in a list item.

    We encourage you to download, install, discover and use the new MapIt product. 

    Enjoy!

    The MapIt Development Team  

  • ESRI Parts for Microsoft SharePoint version 1.1 is available!

    We're proud to introduce a new resource center for Microsoft SharePoint administrators, contributors, and users who want to integrate rich mapping functionality in their SharePoint sites.   Go to the ESRI Parts for Microsoft SharePoint resource center you can read about, discover, and download version 1.1 of ESRI's SharePoint solution.  This latest edition includes a bounty of exciting enhancements and updates.  Here's a quick look at what's new:

    • The ESRI Map Web Part offers a host of enhancements and new features.  For example, you can map Microsoft Office forms and document libraries, use a custom ArcGIS Server base map or locator, and configure clustering symbology or render point data as heatmaps.
    • A new ESRI Geolist Web Part provides an interactive and multi-functional tabular view of SharePoint lists that have been added to an associated Map Web Part.
    • A new ESRI Location Map Field allows you to add a field to a SharePoint list that shows the location of each item in the list on an interactive map.  You can modify the address match properties, view the coordinates of match location, and interactively adjust the location.
    • Use the configuration utility included with the download to specify Bing Maps credentials and make it the default for entire site collections, web applications, or SharePoint farms; configure shared properties using administrative SharePoint lists created by the ESRI Parts; and upgrade from version 1.0 (ESRI Map Web Parts for Microsoft SharePoint) to 1.1. 

    Version 1.1 of ESRI Parts can be deployed with Windows SharePoint Services (WSS) 3.0 and Microsoft Office SharePoint Server (MOSS) 2007.  

    We encourage you to explore the new resource center, download and deploy the solution, and start using maps in your SharePoint apps.

    Enjoy!

    The ESRI SharePoint Development Team

  • Google Chart Images, VBA, and the ESRI Map Web Part

    Microsoft SharePoint lets you display hyperlink fields in a list as images, so the same batch URL generation technique I discussed in a previous post can be used if you have a set of hosted images that correspond to the items in a list, provided that those images have a standard URL format.  And because the Map Web Part fully supports hyperlink fields that are formatted as images, these images will be shown right in each feature's pop-up.

    One popular source for images that relate to a set of data is Google Charts.  Through the Google Charts REST API, you can pass a URL that specifies your data and some formatting information and receive a chart image in return.  Since the URLs are data-driven and must be specified in a standardized format, they are a natural candidate for batch URL generation.  So first, write an Excel formula to generate a Google chart based on your data.  In the sample workbook, you can use the following:
    =CONCATENATE("http://chart.apis.google.com/chart?chs=425x175&cht=p3&chco=FFFFFF,
    FEFF01,03FF11,028088,80FF09,0201FF,810181,4101C0,FF0003,C00042,FEAA02,
    FF5502&chl=Jan: $",CONCATENATE(G2, "|Feb: $", H2, "|Mar: $", I2, "|Apr: $",
    J2, "|May: $", K2, "|Jun: $", L2,"|Jul: $", M2, "|Aug: $", N2, "|Sep: $", O2,
    "|Oct: $", P2, "|Nov: $", Q2,"|Dec: $", R2),"&chf=bg,s,FFFFFF00&chd=t:",
    ROUND(G2/S2 * 100, 0), ",", ROUND(H2/S2 * 100, 0), ",", ROUND(I2/S2 * 100, 0),
    ",", ROUND(J2/S2 * 100, 0),",",ROUND(K2/S2 * 100, 0),",",ROUND(L2/S2 * 100, 0),
    ",", ROUND(M2/S2 * 100, 0), ",", ROUND(N2/S2 * 100, 0), ",", 
    ROUND(O2/S2 * 100, 0), ",", ROUND(P2/S2 * 100, 0),",", ROUND(Q2/S2 * 100, 0),
    ",", ROUND(R2/S2 * 100, 0))
    

    This generates a URL that will create a labeled pie chart showing sales for each month.  Once you have the formula, follow steps 2-4 above.  When you create the hyperlink field in SharePoint, be sure to select the option to format it as a picture.

    Now, there is one small issue with the Google Chart URLs.  SharePoint only supports URLs up to 255 characters in length, but the Google Chart URLs are much longer than this.  Fortunately, there are many free URL shortening services that expose REST APIs, and we can use VBA to call these in batch fashion.  In the code behind for the sample workbook, notice the methods shown below.  If you are using your own data, you should copy these methods into the code-behind for your workbook.

    Private Sub ConvertLinksToShortUrls(sourceColumn As String, targetColumn As String, 
     startRow As Integer, endRow As Integer)
        Dim i As Integer
        Dim sourceCell As String
        Dim targetCell As String
        Dim shortUrl As String
        For i = startRow To endRow
            sourceCell = sourceColumn + CStr(i)
            shortUrl = ShortenURL(Range(sourceCell).Value)
            
            targetCell = targetColumn + CStr(i)
            Call Worksheets(1).Hyperlinks.Add(Range(targetCell), shortUrl)
            DoEvents
        Next i
    End Sub
    
    Private Function ShortenURL(longUrl As String)
        'Encode passed-in URL
        Dim encodedUrl As String
        encodedUrl = URLEncode(longUrl, True)
        
        'Construct URL to shortening service
        Dim requestUrl As String
        requestUrl = "http://ur.ly/new.xml?href=" + encodedUrl
        
        'Execute request to URL
        Dim net As Inet
        Set net = New Inet
        Call net.Execute(requestUrl)
        Do While net.StillExecuting
            DoEvents
        Loop
        
        'Get length of response
        Dim contentLength As Long
        contentLength = net.GetHeader("content-length")
        
        'Get response's XML content and escape ampersands
        Dim urlXml As String
        urlXml = net.GetChunk(contentLength)
        urlXml = Replace(urlXml, "&", "&")
        
        'Load response into DOM doc object
        Dim xml As DOMDocument60
        Set xml = New DOMDocument60
        Call xml.LoadXML(urlXml)
            
        'Extract short Url info from xml and construct short url
        Dim shortUrl As String
        shortUrl = "http://ur.ly/" + xml.getElementsByTagName("urly")
          (0).Attributes.NextNode.NodeValue
        
        ShortenURL = shortUrl
    End Function
    
    Public Function URLEncode( _
       StringToEncode As String, _
       Optional UsePlusRatherThanHexForSpace As Boolean = False _
    ) As String
    
      Dim TempAns As String
      Dim CurChr As Integer
      CurChr = 1
    
      Do Until CurChr - 1 = Len(StringToEncode)
        Select Case Asc(Mid(StringToEncode, CurChr, 1))
          Case 46 To 57, 65 To 90, 97 To 122
            TempAns = TempAns & Mid(StringToEncode, CurChr, 1)
          Case 32
            If UsePlusRatherThanHexForSpace = True Then
              TempAns = TempAns & "+"
            Else
              TempAns = TempAns & "%" & Hex(32)
            End If
          Case Else
            TempAns = TempAns & "%" & Hex(Asc(Mid(StringToEncode, CurChr, 1)))
        End Select
    
        CurChr = CurChr + 1
      Loop
    
      URLEncode = TempAns
    End Function

    The key here is the ConvertLinksToShortURLs method.  All you need to do to convert links in one range of cells to short URLs and copy them as hyperlinks to another range is call this method.  For the sample uncomment the call to this method and comment the call to CopyHyperlinks so that the AddUrlsToTable method appears as:
    Private Sub AddUrlsToTable()
        'Call CopyHyperlinks("V", "T", 2, 79)
        Call ConvertLinksToShortUrls("W", "U", 2, 79)
        MsgBox "Operation Complete"
    End Sub
    

    Run this method to generate the shortened Google Chart URLs and synchronize the list with SharePoint.  Then load the list in your Map Web Part, hover over a feature, and see the chart show up in the pop-up:


    Rich Zwaap
    ESRI Product Engineer
    ArcGIS Server .NET, Silverlight/WPF, MapIt

  • Hyperlinks and Images in the ESRI Map Web Part

    In the previous post, I mentioned that the ESRI Map Web Part fully supports SharePoint hyperlink columns.  This means that, if a list item has a hyperlink field, the value of that field will show up in the list item's pop-up.  The Map Web Part even honors how the hyperlink field is formatted; if formatted as a hyperlink, the value shows up in the pop-up as a link.  If formatted as an image, the value will instead show up as an image!

    Want to try it out?  Follow these steps:

    1. Create a new Contacts list
    2. Create a new item.  Specify a name, address, and, in the Web Page field, a URL and description.  
    3. Add the Web Page field to the list's default view.
    4. Add the list to a Map Web Part and geocode it.
    5. Hover over the geocoded point - you'll see the pop-up with the link you defined:

    To add an image, simply add a new hyperlink field and specify that the URL be formatted as an image.  Edit the list item, defining a URL for the image.  Once you refresh the Map Web Part, the image will show up in the pop-up:

    Large images are automatically resized to fit inside the web part, and clicking the image will open it in a new window.  And, as you can see in the screenshot above, the image's description and URL are shown in a tooltip that appears when you mouse over the image.

    Hyperlinks and Excel Integration

    One advantage of being able to map SharePoint lists is that, thanks to SharePoint integration with Excel, this opens the door to mapping your Excel data.  Of course, one great feature of Excel is formulas - the ability to calculate cell values based on other cells.  Combine these with the Map Web Part's support for SharePoint hyperlink fields, and you have the ability to easily generate data-driven hyperlinks and images for an entire dataset that are available from within a map! 

    There is, however, one small caveat.  Once a hyperlink column is synchronized between Excel and SharePoint, you can't use a formula to calculate the value of that column directly; the resulting values won't pass the synchronization add-in's data validation.  But there's a simple workaround.  All you need to do is calculate the values in a non-synchronized column and use a tiny bit of VBA to copy them over to the synchronized column. 

    To demonstrate this capability, I have created a spreadsheet that contains sample data and the VBA needed.  Download the spreadsheet here.  Starting with this spreadsheet, here's what you need to do:

    1. Publish the spreadsheet to SharePoint.  For instructions on how to do this, refer to the documentation for the synchronization add-in.
    2. In SharePoint, add a hyperlink field to the list that was generated from the spreadsheet.
    3. In Excel, right-click the table and select Table > Synchronize with SharePoint.  The hyperlink column will automatically appear in the spreadsheet.
    4. Copy the formula to calculate your hyperlinks into the column to the right of the hyperlink column (i.e. the first spreadsheet column outside the table).  With the sample spreadsheet, you can use the formula below.  The result is a Bing URL for each record that searches by city and state:

      =CONCATENATE("http://www.bing.com/search?q=", TRIM(C2), "%2C", TRIM(B2))
    5. Open the VBA Editor (Developer > Visual Basic).
    6. In the code-behind for the workbook, notice the method below.  If you are using your own data, copy this method into your workbook's code-behind. 
      Private Sub CopyHyperlinks(sourceColumn As String, targetColumn As String, 
            startRow As Integer, endRow As Integer)
          Dim i As Integer
          Dim sourceCell As String
          Dim targetCell As String
          For i = startRow To endRow
              sourceCell = sourceColumn + CStr(i)
              targetCell = targetColumn + CStr(i)
              Call Worksheets(1).Hyperlinks.Add(Range(targetCell), _
                  Range(sourceCell).Value)
              DoEvents
          Next i
      End Sub
      This method takes the letters of the columns to copy from and to, as well as the numbers of the rows to start and end the operation on.  The values in the source cells are copied to the target cells as hyperlinks.
    7. Now look at the AddUrlsToTable method (above CopyHyperlinks):

      Private Sub AddUrlsToTable()
          Call CopyHyperlinks("V", "T", 2, 79)
          'Call ConvertLinksToShortUrls("W", "U", 2, 79)
          MsgBox "Operation Complete"
      End Sub
      This method simply calls CopyHyperlinks for the ranges of cells to copy hyperlinks from and to.  If you are using your own data, copy this method and replace the parameters in the call to CopyHyperlinks with the letters and numbers of the columns and rows you want to copy.
    8. Run the AddUrlsToTable method by pressing the Play button.
    9. Once the operation is complete, right-click the table and select Table > Synchronize with SharePoint.  The hyperlinks will be uploaded to the SharePoint list.
    10. Add the list to the Map Web Part and address match it.  When you mouse over a feature, the Bing URL shows up in the pop-up as a clickable link:


    Rich Zwaap
    ESRI Product Engineer
    ArcGIS Server .NET, Silverlight/WPF, MapIt


  • Creating Web Maps with Your Excel Data

    Many businesses and organizations store a substantial amount of enterprise data in Excel spreadsheets.  While, compared to relational database management systems (RDBMS), Excel cannot provide the same depth of data management and automation tools and does not store and retrieve data as efficiently, its ubiquity, ease of use, powerful visualization and calculation tools, and ready extensibility make it ideal for many users and datasets. 

    Often times, the data stored in Excel contains a locational component - columns for addresses or geographic coordinates.  Until now, creating an interactive web map that shows this Excel data was not easy to do.  For instance, you might have had to run the spreadsheet through a batch process to locate addresses, convert the data into a format that can be understood by your service publishing infrastructure, publish a web service, and then build a custom application to draw that web service on the map.  Well we have good news - MapIt and the ESRI Map Web Part have made this task simple!

    There are two paths you can choose from to map your Excel data.  If you want to host a map of your Excel data outside of SharePoint or if your data has simply "outgrown" Excel and you'd like to use SQL Server to manage it, you can:

    1. Import your spreadsheet into SQL Server using the Import Data Wizard. On a server with MapIt installed, this table will automatically be made available through MapIt's Spatial Data Service.
    2. Use the Spatial Data Assistant to locate addresses.
    3. Map your data within SharePoint or on a separate website:
      a. To map your data in SharePoint, add the ESRI Map Web Part to a SharePoint page and add your new MapIt table to the map.
      b. To create a map that shows your data on a website that's hosted outside of SharePoint, use the ArcGIS API for Microsoft Silverlight/WPF to easily create a map and display your MapIt table as a feature layer or graphics layer.

    This option allows you to leverage the power of SQL Server to help manage your Excel data and gives you the flexibility to map that data in any web application.  If you choose to host the map in SharePoint, this option requires no code whatsoever.  If you want to map the data outside of SharePoint, only a minimal amount of code is needed, which can easily be copied from the documents linked above.

    On the other hand, if you want to map your data within SharePoint and continue managing it within Excel, this is easily accomplished with the ESRI Map Web Part and Excel's SharePoint synchronization add-in:

    1. If you don't have the synchronization add-in installed, follow the link above to install and enable it.
    2. Using the instructions at the link above for reference, publish the Excel data to SharePoint. This will create a list in SharePoint that contains the published data.
    3. Add the ESRI Map Web Part to the SharePoint page that will host the map.
    4. Add your new SharePoint list to the web part and set the location fields to draw the list's records on the map.

    This second approach has a number of advantages.  For one, hosting the data within SharePoint enables easy sharing; it allows you to point people to one location to see and edit it.  Also, the Map Web Part fully supports SharePoint hyperlink fields, so this approach lets you easily link to other pertinent pages or show images such as charts right within the map - a capability that we'll explore in detail in a future post.   But perhaps best of all, with this approach you can leverage the synchronization add-in to push updates from your spreadsheet to the list and vice versa.  Of course, anytime you push an update to the SharePoint list, the Map Web Part will update as well.  So in just a few steps - and no code whatsoever - you can create an interactive web map with data that can be updated directly from Excel!

    Rich Zwaap
    ESRI Product Engineer
    ArcGIS Server .NET, Silverlight/WPF, MapIt

  • Straight Talk about MapIt: Part 3

    This is the final part in a three part series on MapIt.  Prior posts (1,2) in this series covered the features of MapIt, answered questions regarding its status in the ESRI suite of products, and discussed how to compare it with other products.  Now that we know what MapIt is and where it fits in ESRI product space, let’s tackle the final questions:  Is MapIt for you and what do you get when you buy it?

    Question: Should you be interested in MapIt? 

    Do you already have ArcGIS Server?  If so, you don't need MapIt.  You may want to use the ArcGIS API for Microsoft Silverlight/WPF to build Web or desktop service clients or the ESRI Map Web Part for Microsoft SharePoint solutions.  Go to their respective resource centers; download and enjoy.    

    Do you have SQL Server 2008?  Yes -> do you have or want to have tables with spatially oriented data (e.g. addresses, lat/long, and sales in regions)?  Yes -> do you want to use native SQL Server spatial types and operations to store and process spatial content in tables?  Yes -> do you want to be able to access your spatial data in SQL Server via a Web service? Yes - Buy MapIt, and skip to the next question.    

    Do you need to construct map caches, build street networks, create geocode indexes, construct geoprocessing models and host them as services?  Do you need to manage and access your data in Oracle? Using ArcSDE?  Do you need an out of the box GIS Web application builder?  Do you need to render 10,000 polygons each with 100,000 vertices (hint: let the server do the rendering)?  Buy ArcGIS Server

    Question: Why does MapIt cost $4500?

    No mysteries here, the price is available for everyone to see - click through a few pages, buy, and download MapIt for $4500.   So what do you get for this?  Technically, you get a file to license both the SDA and SDS so they are no longer crippled... then deploy the SDS as many times as you like.  Plus, you can deploy commercial applications with the ArcGIS API for Microsoft Silverlight\WPF.  If you download the ArcGIS API for Microsoft Silverlight/WPF from the resource center and deploy a commercial application, it will cost you nearly as much as MapIt.  Commercial applications mean applications that you use to make money. For example, you build an application with our Silverlight/WPF API and sell it to someone -or- you deploy a Silverlight application on a site that generates revenue through advertising.   The Map Web Part license has yet to be determined, but if you download and deploy the Web Part by itself, there will be a cost involved.  More information will be provided when the Map Web Part resource center is available.   In any case, if you purchase MapIt you don’t have to worry about the price of the ArcGIS Silverlight/WPF API or the Map Web Part - it’s included with the product.  With a MapIt purchase you also get the first year of maintenance, access to technical support, and access to updates.  The simplicity of it is quite amazing.  Purchase, download, and you're licensed, ready to go.

    Question: Do you get an ArcGIS Online or Bing Maps subscription with a MapIt purchase?

    No.  Consider how you will use ArcGIS Online or Bing Maps with MapIt features to determine if you need to purchase a subscription or license.  First, we’ll take a look ArcGIS Online and Bing Maps services then we’ll cover how they relate to MapIt features. 

    To use ArcGIS Online you may purchase an annual subscription for access to a service or bundle of services.  You can use free map services, premium map services, and free task (geocode, routing) services.   Premium map services always require an annual subscription.   Commercial use of free services requires an annual subscription.    See the ArcGIS Online pricing page and guide for more information.  Note, currently MapIt is not listed in the pricing guide.  Instead, refer to the MapIt feature discussions presented later in this post.     

    To use Bing Maps, go directly to Microsoft.   First, get yourself a Bing Maps developer account (you’ll need a Windows Live ID).    You’ll get an account id and define a password.   Immediately you’ll have access Bing Maps imagery, geocode, and route services in their staging environment.   You have 90 days to evaluate Bing services - with some restrictions, such as a 30000 transaction limit per month (see the terms of use).  If you decide to continue using Bing Maps at the end of the evaluation period, you’ll need to negotiate the purchase of a license.  This will enable you (your account) to use Bing Maps services in a production environment.   It’s important to mention that the staging environment is not scaled to support the volume of requests the production environment is designed to handle.  Side note, you’ll find the Bing Maps Customer Services site helpful in managing your account - unfortunately it’s not easy to find, so I’ll provide the link here to save you some time.      

    Keep in mind, once you have an ArcGIS Online or Bing Maps account, you can share it across features.  Now let’s discuss how ArcGIS Online and Bing Maps services can be used and licensed with the features of MapIt.

    Spatial Data Assistant - If you geocode addresses in a SQL Server table you will use the ArcGIS Online or Bing geocode service.  In any case, you’ll need to purchase a subscription for any (non-commercial, internal, and commercial) use of ArcGIS Online if you geocode more than 1000 addresses.  Access to the Bing geocode service is free for 90 days, after which you must purchase a license.  

    Spatial Data Service - Does not use ArcGIS Online or Bing.

    ArcGIS API for Microsoft Silverlight/WPF - This feature exists by itself, so the same pricing model applies as if you downloaded the Silverlight/WPF API from the resource center.  In fact, it's the same model for all ArcGIS Web Mapping APIs (e.g. Flex, JavaScript).   In general, there is no cost for non-commercial or internal use of free ArcGIS Online map services.  Task services (geocode, routing) are free up to a limit after which you must purchase a subscription (see pricing guide).  Commercial use of any ArcGIS Online services requires a subscription.    Any use of Bing Maps services after the 90 day evaluation will require a license. 

    Map Web Part for Microsoft SharePoint - This feature follows the same pricing model as the Web Mapping APIs.  In the Web Part, you can configure the base layer to be a collection of maps from ArcGIS Online or Bing.  If a SharePoint list is geocoded it will use the geocode service of the host defined by the base layer (e.g. use Bing Maps imagery for the base layer, the Bing geocode service will be used to geocode addresses in a SharePoint list).   The Web Part does not include routing functionality, thus access to a routing service is unnecessary at this time.  

    I hope this series of posts have helped bring some clarity to the MapIt story.  Enjoy!

    Rex Hansen
    ESRI Product Engineer\Evangelist
    ArcGIS Server .NET, Silverlight/WPF, MapIt

  • Straight Talk about MapIt: Part 2

    This is the second part in a three part series on MapIt.  In the first post I covered the features of MapIt.  Now that we have the background on what MapIt contains, let’s answer another pivotal question: is it designed to replace any existing ESRI products?   I’ll tackle the most common product comparisons to date.

    Question:  Does MapIt replace ArcGIS Server?

    No.  From the server-side perspective they share one operation: query.  The query operation on a table using the SDS and the query operation on a feature layer in an ArcGIS Server map service accepts similar inputs and generates the same output format (as discussed in the SDS section in the first post).  Here are a couple urls to compare the query experience in Services Directory:

    ArcGIS Server:
    http://serverapps.esri.com/ArcGIS/rest/services/SamplesNET/USA/MapServer/0/query
    MapIt:
    http://serverapps.esri.com/SDS/databases/Demo/dbo.USCities_Geographic/query

    All other comparisons illustrate the significant difference between the two.  Here are a few examples:

    ArcGIS Server is a complete enterprise GIS solution built around the extensive capabilities of ArcObjects. MapIt features simply enable quick and easy access to spatial data in SQL Server and do not require ArcObjects in any way. 

    MapIt does not include a SOM or SOC, that functionality is handled by SQL Server. 

    MapIt does not include an administrative interface like ArcCatalog or Manager and does not use service configuration files like mxds, msds, tbxs, etc.  As a result, MapIt does not include an application to create and modify configuration files such as ArcMap.  Instead you organize and manage your data in SQL Server using standard database techniques and capabilities.  You may use SQL Server Management Studio to do this, but again that's available completely outside of MapIt. 

    ArcGIS Server includes numerous service types and core APIs (e.g. SOAP, REST, WMS).  The MapIt Spatial Data Service does not maintain any service types and has one API, REST.  You may consider a SQL Server database analogous to an ArcGIS Server map service; a database schema similar to a data frame; and a table to a feature layer; but the relationships between tables in a SQL Server database are arbitrary whereas layers in a map service are implied. 

    No component in the MapIt-SQL Server solution generates map images on the server.  Instead, spatial data must be streamed to the client as features and rendered by the client.  ArcGIS Server has the ability to generate map images on the server which has definite benefits when rendering a large number of highly complex features.     

    MapIt does not include an application builder as is packaged with ArcGIS Server in the Manager Web application.  Instead, you slip on your developer hat and create a slick lightweight Silverlight or WPF client.  Or you slide into your SharePoint nook and configure a Map Web Part. 

    MapIt features are pure managed solutions supported natively in 32 and 64-bit environments.  Core ArcGIS Server components are predominately unmanaged native 32 bit applications and processes supported in 32 and 64-bit environments.

    Question:  Does MapIt replace ArcIMS?

    No.  From the server-side perspective the comparison is similar to ArcGIS Server. In ArcIMS, you can query a layer in a map configuration file served up in an image or feature service.  However if using the standard servlet connector, you post an HTTP request that contains an ArcXML GET_FEATURES request and returns an ArcXML FEATURES response.  ArcIMS does not include an REST API... unless you build it yourself.        

    ArcIMS is a simple Web GIS solution composed of Java and C++ components, with limited ArcObjects support via the ArcMap Image Server.  MapIt features are built as pure managed .NET solutions.    

    MapIt does not include a spatial server, monitor, or application server - again that functionality is handled by SQL Server. 

    MapIt does not include an administrative interface like ArcIMS Administrator and does not require configuration files like axls or mxds.  As a result, MapIt does not need to include an application to create and modify configuration files such as ArcIMS Author.

    ArcIMS can generate map images on the server, MapIt and SQL Server do not. 

    MapIt does not include an application builder like ArcIMS Designer.  Again, use the developer hat or SharePoint nook. 

    Question: Is MapIt the new MapObjects-Windows or MapObjects IMS?

    As a whole, no.  Keep in mind MO-Windows and MOIMS are no longer available - but this has not stopped the attempt at a comparison - which is why I mention it here.  From the server-side perspective MOIMS provided a light-weight Web mapping solution but you still had to create the server-side application to work with directly with data (e.g. shapefiles, ArcSDE) - plus you generate map images on the server.  The MapIt SDS correlates with the MOIMS esrimap dll but like with the ArcIMS servlet connector, the format is different.  You also had to build the MOIMS client, usually a limited mish-mash of HTML, JavaScript, and ASP. 

    One notable similarity exists in the desktop development arena.  Part of MapIt, the WPF portion of the ArcGIS API for Microsoft Silverlight/WPF, may accurately be billed as ESRI's current light-weight mapping solution for Microsoft developers on the desktop.  This position was occupied the MO-Windows in the past.  Granted the ArcGIS WPF API is a service client and doesn't work with local data out of the box, it fits the current model promoting rich, light-weight, interactive desktop clients that consume services to access data and functionality. 

    Question:  How do you compare MapIt to other products?

    Remember to consider that the features of MapIt are loosely coupled whereas ArcGIS Server and ArcIMS components are tightly integrated.   In the author, serve, use paradigm of ArcGIS Server or ArcIMS, ESRI products are integrally involved every step of the way.  For example, you author configuration files in ArcMap or ArcCatalog, host them as services in ArcGIS Server, administer them using ArcCatalog or Manager, and build applications using a number of ArcGIS APIs or frameworks.  For an apples-to- apples comparison, you need to evaulate each piece of MapIt individually. 

    For the SDA, is there another application that geocodes addresses in a SQL Server table or loads shapefiles into SQL Server, adds constraints, indexes, and stores features in native SQL Server spatial format?   If so, compare it.

    For the SDS, is there another Web service that enables direct access to SQL Server tables (spatial and non-spatial) via REST that performs as well as the SDS?  If so, compare it. 

    For the ArcGIS API for Microsoft Silverlight\WPF, is there another Silverlight\WPF API that includes full featured, rich interactive mapping components and integrates with data from ArcGIS Server, Bing, and SQL Server spatial (SDS)?   If so, compare it. 

    For the ESRI Map Web Part for Microsoft SharePoint, is there another out of the box SharePoint solution that includes a configurable component that leverages the latest Microsoft Web technology (Silverlight)?  If so, compare it. 

    From what we can see by the ESRI product comparisons (above) and the features of MapIt, it is not a comprehensive enterprise GIS solution.  It's designed to be a simple, straight-forward, non-intrusive set of features that build on the existing Microsoft stack of database, service, and client solutions. 

    In the next and final part to this series I'll discuss pricing and who should be interested in MapIt. 

    Rex Hansen
    Senior Product Engineer\Evangelist
    ArcGIS Server .NET, Silverlight/WPF, MapIt
     

  • Straight Talk about MapIt: Part 1

    After our initial release of MapIt version 1.0 at the User Conference, a bevy of questions swirled around the product ranging from functionality to packaging to price.  I'd like to take some time to cut through the hype and discuss some of the technical details of what you can do with MapIt, how it should (read: shouldn't) be compared to other ESRI server products, and if it's right for you.   I'll cover these topics in a three part series, starting with the first pivotal question:

    What do you get with MapIt?

    Think of MapIt as a suite of related (not dependent) features that enable mapping capabilities in the latest Microsoft products and platforms.  Basically, you get four features: the Spatial Data Assistant, the Spatial Data Service, the ArcGIS API for Microsoft Silverlight/WPF, the ESRI Map Web Part for Microsoft SharePoint.  The first two features are only included with the MapIt product. 

    The Spatial Data Assistant (SDA) is a standalone WPF application that enables you to geocode addresses in a SQL Server table and load shapefile data into SQL Server.  ESRI hosts a set of standard datasets on ArcGIS Online.  They are simply shapefiles downloaded by the SDA, extracted locally, and loaded into SQL Server.  The SDA is merely an assistant for creating or enabling spatial tables in SQL Server. It's designed to get you up and running quickly with spatial data in SQL Server.  It is not required - you can spatially enable tables in SQL Server using SQL or with other tools.  The SDA does include the powerful ESRI projection engine, so you can confidently load spatial data in a projection of your choice.    

    The Spatial Data Service (SDS) is pivotal to MapIt.  It's simply an ASP.NET Web service, hosted by IIS, that communicates with a SQL Server instance natively.  You use REST to communicate with the SDS over HTTP and the output format is JSON or HTML.  The HTML view provides a Spatial Data Service Directory you can use in a Web browser to discover and query SQL Server instance contents.  Programmatically you use the SDS to do one thing: query data.   You can define an attribute or spatial filter for the query, but you always get set of records (features) back.  The format of the results matches the ArcGIS JSON feature set definition - so the results from a table query via the SDS and the results from a feature layer query in an ArcGIS Server map service via the ArcGIS Server REST API look the same.  We're simply reusing an existing REST definition for a feature set that works.  This also means you can query\consume either an SDS table or an ArcGIS map service feature layer in the same way.  For example, to use a QueryTask or FeatureLayer in ArcGIS JavaScript, Flex, or Silverlight/WPF API point the Url to an SDS table or feature layer in ArcGIS Server and go.  Like the SDA, the SDS includes the ESRI projection engine so you can reproject geometry returned from a query on the fly.  And another note, the service is lightning fast.  

    The ArcGIS API for Microsoft Silverlight/WPF is a rich, light-weight mapping client platform for Microsoft Web and desktop developers.  It's included with MapIt as the premier client for Microsoft solutions.  It's available and can be used completely separate from MapIt.  You can download and discover how to use it on the ArcGIS Resource Center.

    The ESRI Map Web Part for Microsoft SharePoint is a configurable mapping component for deployment on an existing Microsoft SharePoint site. The Map Web Part is built on the Microsoft Silverlight platform and uses the ArcGIS Silverlight API.  The key part here is the Web Part is configurable, not customizable.   As an admin or contributor in SharePoint you can configure Map Web Part contents.  This means you can define a base map layer from ArcGIS Online or Bing Maps and add SharePoint lists, SQL Server tables via the MapIt SDS, or feature layers in a non-cached ArcGIS Server map service as operational layers (read: graphics) to the map.  You can also define symbology for the operational layers using a nice set of interactive dialogs.   The Map Web Part can be used completely separate from MapIt.  You will be able to download and discover how to use it on its own resource center... available very soon. 

    In part 2 of this series, I'll compare and contrast MapIt with other ESRI products.

    Rex Hansen
    Senior Product Engineer\Evangelist
    ArcGIS Server .NET, Silverlight/WPF, MapIt

  • Welcome to the ESRI MapIt Blog!

    Welcome to our blog!  We are the ESRI MapIt Development Team and we’re very excited about the MapIt 1.0 release.  We have a lot to share with the user community.  Blog entries will cover a wide range of topics, including server administration, data configuration, programming information, and building great applications.  One key part to this blog will be interaction with you.   If you haven’t already done so, visit the ESRI MapIt Web site to get started. Feel free to let us know if you have any topics of interest you would like us to cover.   In the meantime, stay tuned for more posts, coming your way… 

     The MapIt Development Team