1 / 39

ArcGIS Server

ArcGIS Server. The Good, the Bad, and the Ugly. Steve Foster. GIS Programmer City of Frisco. What does Server do. 1. Client requests a map from Server by specifying layers and extent

sitara
Download Presentation

ArcGIS Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ArcGIS Server The Good, the Bad, and the Ugly

  2. Steve Foster GIS Programmer City of Frisco

  3. What does Server do 1. Client requests a map from Server by specifying layers and extent 2. Server renders the requested map and returns an image (i.e. jpg) to the client (Note: cached images are pre-rendered) 3. Client displays image for user

  4. The Good Available at www.ESRI.com or your any ESRI salesman

  5. The Good • Web application: Allows distribution of spatial data to anyone with a browser • Map utilizes full window! • Centralized management reduces cost of ownership • Heir apparent to ArcIMS

  6. Scalable * Source: ESRI System Design Strategies

  7. ArcGIS Mobile Lightweight applications that run on a variety of platforms Locally cached data for disconnected operation, Syncs when connected Requires Advanced Enterprise level of Server $$$ Photos taken from www.ESRI.com/arcgismobile

  8. The Good (continued) • Ability to integrate with Enterprise applications through web services • Flexible • Choose from Java or .NET • Powerful • Custom geoprocessing tasks developed with Model builder • Limited editing of layers • Support for most ESRI extensions • Network Analyst • Spatial Analyst • 3D Analyst • Sever Data Interoperability

  9. Easy to create Out-Of-The-Box website • Wizard based • Relatively low skill level required

  10. 1. Use ArcMap to create your map document

  11. 2. Use ArcCatalog to publish map service

  12. 3. Use ArcGIS Server Manager to create your website

  13. OR Use Visual Studio with Map Template

  14. Use ArcCatalog to Manage ArcGIS Server

  15. Your Done! It really is that easy

  16. The Bad Or at least not so good

  17. The Bad • Web application • Limited by the technology (HTML) • The best web apps don’t measure up to a good desktop app • Different browsers (IE, Netscape, Firefox, etc) makes testing more difficult • Timing problems in a multi-threaded environment can be difficult to debug • Relatively new product, Support personnel not up to speed yet

  18. SLOW Source: System Design Strategies, Dave Peters, ESRI, 2007

  19. Poor Documentation of ADF

  20. Complex Development Environment • Much more complex than extending ArcGIS desktop • Several different technologies • HTML, ASP.NET, AJAX, VB and/or C#, Jscript • Requires Microsoft Visual Studio 2005 • Requires a fairly high skill level to customize code

  21. The UGLY

  22. Bugs • True curves causes errors in Identify • Certain combinations of null and non-null values in table cause search to fail • Zoom function sometimes fails to refresh map (Timing problem with window resize event) • Map tiles sometime fail to draw (source file for toolbar incorrectly specified App_Code\FriscoTools.vb)

  23. Caching does not work correctly when “PrimaryMapLayer” is set to a non-cached layer (Documentation omission). • TOC collapses when refreshed (wrote my own) • TOC update contains 100’s of repeated elements. (SP4) • Dynamic rendering speed unnecessarily slow. Depends on what layers are in the map, not what is drawn. • Custom cursors don’t behave correctly

  24. Suggestions

  25. If possible…wait for Server 9.3 • Faster? • Improved Diagnostics (log files) • Major additions to Documentation • Microsoft ASP.NET AJAX Final release • Print task • Use Mozilla Firefox with Firebug extension for debugging • Use Fiddler with IE (not as good but some bugs limited to IE)

  26. Use Visual Studio to set properties of controls

  27. Edit the Source to reposition elements

  28. Debugging: Monitor Event Viewer for ASP Errors

  29. Optimization • Server is slow • Keep it simple • Cache everything possible / minimize dynamic rendering • Keep symbology simple on dynamic layers, Use optimized symbol set • Online seminar: Authoring and Publishing Optimized Map Services (http://training.esri.com/acb2000/showdetl.cfm?did=6&Product_id=908)

  30. Oops! I didn’t budget for that! Client Browser City of Frisco Server Configuration Client Browser Reverse Proxy Server (ISA) Web ArcGIS (SOM, SOC) Server ArcServer: Dual Xeon/Dual Core 3.0 GHz (8Gb) ArcIMS Server (internal) Frisco6: Xeon 2.4 GHz (2Gb) SDE / SQL 2005 Server ATLAS: Client Browser Client Browser DMZ Secure Internal Network WWW

  31. Resources • ESRI Developer Network (EDN) • http://edn.esri.com/ • Discussion Forums • Latest Documentation • EDN Media Kit ($1500/yr) • ArcGIS Server (all editions) & extensions • ArcIMS • ArcGIS Engine & Extensions • ArcGIS Image Server • ArcView (+$500), ArcEditor(+$1500), ArcInfo (+$2500) • ESRI Developers Blog • http://blogs.esri.com/Dev/blogs/arcgisserver/ • Examples of code customization • ESRI Developer Summit • March 17-20 Palm Springs • ESRI Training • Developing Applications with ArcGIS Server Using the Microsoft .NET Framework

  32. EXAMPLES

  33. Create an Error Log Private Sub Page_Error(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Error Dim exception As Exception = Server.GetLastError() Server.ClearError() My.Computer.FileSystem.WriteAllText("C:\ESRI_ArcGIS_Server\Log\Error.txt", Date.Now.ToString("yyyy-MM-dd") & "," & Date.Now.ToString("HH:mm:ss") & "," & Session.SessionID & ", PAGE ERROR TEXT: " & exception.ToString & vbCrLf, True) callErrorPage("Page_Error", exception) End Sub • Note: Add to Default.aspx.vb

  34. Toolbar: Adding Tools & Commands • Sample TOOL • ' Zoom in to the rectangle area defined by user. • Public Class ZoomRect • Implements IMapServerToolAction • Sub ServerAction(ByVal args As ToolEventArgs) Implements IMapServerToolAction.ServerAction • Dim map As ESRI.ArcGIS.ADF.Web.UI.WebControls.Map = CType(args.Control, ESRI.ArcGIS.ADF.Web.UI.WebControls.Map) • Dim pea As RectangleEventArgs = CType(args, RectangleEventArgs) • Dim peanut As System.Drawing.Rectangle = pea.ScreenExtent • If peanut.Height < 15 And peanut.Width < 15 Then • Dim center As Integer • 'Y • center = peanut.Y + (peanut.Height / 2) • peanut.Height = map.Height.Value / 2 • peanut.Y = center - (map.Height.Value / 4) • ' X • center = peanut.X + (peanut.Width / 2) • peanut.Width = map.Width.Value / 2 • peanut.X = center - (map.Width.Value / 4) • End If • map.Zoom(peanut, True) • End Sub 'IMapServerToolAction.ServerAction • End Class 'ZoomRect • Sample COMMAND • ' Zoom to the Extent of City • Public Class ZoomFullExtent • Implements IMapServerCommandAction • Sub ServerAction(ByVal info As ToolbarItemInfo) Implements IServerAction.ServerAction • Dim map As ESRI.ArcGIS.ADF.Web.UI.WebControls.Map = CType(info.BuddyControls(0), ESRI.ArcGIS.ADF.Web.UI.WebControls.Map) • map.Extent = New ESRI.ArcGIS.ADF.Web.Geometry.Envelope(2450000, 7080000, 2511000, 7132000) • End Sub 'IMapServerToolAction.ServerAction • End Class

  35. Frisco GIS Team Susan Olson John Morley Amy Rose Bud Videan Brian Macke

  36. Coming Attractions NCTCOG Regional GIS Meeting May 22, 2008 Frisco City Hall (96°50’4”W 33°9’N) Integration of Spatial and Business data systems at the City of Frisco

  37. Demonstration • Frisco Interactive maps at http://maps.friscotexas.gov/ • Frisco Home page: www.friscotexas.gov • This presentation will be available on our GIS page

More Related