ArcGIS Server

GIS Salary Survey Results

Posted on July 27, 2011. Filed under: .NET, AGIS Server API for Flex, ArcGIS Server, ArcGIS Server for Silverlight, ESRI, GeoSpatial Training Services, JavaScript, Open Source GIS, OpenLayers, PostGIS, Python |

We’re keeping the survey open through July 31st.  If you haven’t already participated in the survey please take a few moments to do so and forward this to your colleagues.

To date we have had 731 respondents.  Here are some of the highlights:

  • 40% of respondents list their job titles as either GIS Analyst or GIS Technician.  16% are GIS Managers/Coordinators/Directors, and 6% GIS Developers/Programmers.
  • 40% of respondents have 10 years of experience or greater.
  • 43% have a Master’s degree or higher.  Should You Get a Master’s Degree in GIS?
  • 70% of respondents are male.  I suppose this is better than it was 10 years ago, but we really need to attract more women to the field.
  • 41% of you are between the ages of 30-39.  24%  are between the ages of 40-49.  Less than 2% are above the age of 60.
  • Salaries appear to be widely dispersed with 29% between $50,000-$70,000/year.  I was surprised to see almost 13% below $20,000/year.
  • ESRI is far and away the most popular platform with 93% of respondents indicating this as one of their primary platforms.  This question allows more than one platform to be selected.  Open Source GIS software came in second at 14%.  I suspect this will grow quite a bit in the coming years.
  • Primary programming languages in use include .NET (55%), Python (50%) , JavaScript (27%), Java (20%), and Flex (17%).  You can learn more about Python, JavaScript, and Flex through our training classes.

You can get all the results here.

Advertisements
Read Full Post | Make a Comment ( 1 so far )

Web Mapping Programmers Bundle

Posted on July 15, 2011. Filed under: ArcGIS Server, GeoSpatial Training Services, Google Maps, Open Source GIS, OpenLayers |

Today we are pleased to announce that our Web Mapping Programmers Bundle is now available for purchase.

This is a set of four self-paced, web based courses focused on developing web mapping applications with three of the leading JavaScript APIs.

Courses include:

This bundle of courses will be made available on Monday, July 18th.  Links to each of the courses will be sent out on that date.

Through July 22nd you can pre-purchase this bundle for $299.00.   After July 22nd the bundle will sell for $399.00.

Read Full Post | Make a Comment ( None so far )

Reminder: ArcGIS Server Bootcamp Early Registration Ends Today

Posted on June 24, 2011. Filed under: ArcGIS Server, GeoSpatial Training Services |

The next session of our ArcGIS Server Bootcamp begins July 11th and runs through August 19th.  The early registration price of $615 is good through June 25th.  The regular course price is $999.

We still have seats available.

We do accept purchase orders.  Payment does not have to be made by today in these cases.  We just need the registration form or you
can pay online at the course web page.

This is a self-paced, instructor guided course.  You do have access to the course for a full year so you can go back and review as necessary or take some extra time to complete the materials if your schedule doesn’t allow you to finish during the course session.

During your one year of access to the course materials you also receive any updates to the course free of charge.  This will include our Introduction to Managing ArcSDE course materials slated for completion late this summer.

The bootcamp currently consists of two sections (soon to be 3 with the addition of our ArcSDE
materials).

  • Introduction to ArcGIS Server
  • Custom ArcGIS Server Developer (includes your choice of Mastering the ArcGIS
    Server JavaScript API, Programming the ArcGIS Server API for Flex, or
    Programming ArcGIS Server with Silverlight)
  • Introduction to Managing ArcSDE (coming late this summer)
Read Full Post | Make a Comment ( None so far )

Working with the Popup Widget in the ArcGIS Server API for JavaScript

Posted on June 13, 2011. Filed under: ArcGIS Online, ArcGIS Server, GeoSpatial Training Services, JavaScript |

The new Popup widget, provided with the 2.3 release of the ArcGIS Server API for JavaScript can be used as a replacement for the default info window.  This new widget provides an attractive alternative to the info window complete with navigation tools that allow you to move through the selected features, zoom to a selected feature, highlight the selected feature, and maximize/minimize,close the window.

You can also customize the look of the window as well as the content.  In this post you will learn how easy it is to programmatically add this new widget to your application.  You can also use the ArcGIS.com map viewer to create popup windows.  This post is the first in a three part series.  This first post will cover the basics of adding a Popup window to your application while the second and third posts will cover advanced customization topics.

For this series of posts we’ll review several Popup samples which can be found here, here, here, and here.

Reference the Widget
You’ll first want to add the popup stylesheet to your application as seen below:

Next, reference the Popup widget using dojo.require.

Creating the Popup
The constructor for a Popup widget takes two parameters: options and an HTML source reference to where the popup will be placed.  The ‘options’ parameter is optional and can be used to customize the look of the popup window.

In the code example below you’ll see that we simply provide a ‘null’ reference for the options object.  This simply means that we’ll use the default options provided by the Popup.  The srcNodeRef is going to be a <div> container that we create to hold the content.

The second line of code highlighted below indicates that when the map is initially created the new Popup widget, stored in a variable called ‘popup’, will serve as the info window for the application.

Finally, the dojo.place method is used to define where the popup will appear which in this case is the <div> container that we created.  Place the popup under the map’s root element. This ensures that the coordinate space used by the popup for positioning aligns with the map’s coordinate space.

Adding just the lines we’ve already discussed is enough to create a basic Popup window.  Many times that’s all you need for your application, but you can also customize not only the look of the window but also the content.

Formatting with the PopupTemplate Class
Popup content can be formatted using the PopupTemplate class.  PopupTemplate inherits from the InfoTemplate class.  A code example showing how to create an instance of PopupTemplate is provided below.  This object can be used to create a title and description for the window along with a means for defining the fields that should be visible along with their labels and formatting.  You can also define whether attachments should be visible (showAttachments:<boolean>) as well as images, charts, and other media that will be part of the window.  We’ll examine some of these advanced customization techniques in our second post.

In this code example above we’ve simply defined a title for the window along with the fields that will be visible and stated that we want attachments to be loaded if they exist.

A PopupTemplate is then referenced from the ‘infoTemplate’ option when defining a new FeatureLayer as seen in the code example below.

In the next post we’ll examine several ways that you can customize the look and content of your popup windows.

Want to learn more about creating ArcGIS Server applications with the JavaScript API?  The next session of our Internet based, instructor guided course Mastering the ArcGIS Server JavaScript API begins August 29th and runs through September 30th.

Read Full Post | Make a Comment ( None so far )

It’s Finally Done! Mastering the ArcGIS Server JavaScript API Course Revision

Posted on March 21, 2011. Filed under: ArcGIS Server, GeoSpatial Training Services, JavaScript |

Well, it seemed to take forever but we’ve finally finished the course revision for our instructor guided, Internet based course Mastering the ArcGIS Server JavaScript API.  The current session of this course runs from March 21st – April 22nd.  We do still have 3 seats available for anyone that would like to join.

The next session of this course will run from June 6th – July 15th.  Register by April 15th to take advantage of our early registration price of $499.  The regular course price is $715 so this is a great deal.

The newly revised course includes nearly 1000 pages of lecture notes, and 36 exercises.

You can view the full course syllabus here.

You can view a sample lecture from the class here.

You can view a sample exercise here

And here is a second example exercise from the class

Although our courses run for a specific period of time all materials are self-paced and you have a full year of access to all course materials so you can go back and review and rework as necessary or simply take your time.  You also receive any course updates free of charge during that year.  And since the folks at ESRI keep putting out new versions of the API for JavaScript every few months this is a great perk!  Version 2.2 was just  released a couple weeks ago and these new concepts will be included in the course by the first summer session.

What have past students of this class said about the course?

“I wanted to let you know about the project that resulted from the ArcGIS JavaScript class I recently took with you. The site is http://www.eyesonpakistan.org, which I did through my job at AAAS and in cooperation with Amnesty International, USA. On the site, there is a section called interactive maps which utilizes a human rights database and maps I created. I used a variety of techniques from the course in the creation of the site and the things I learned were invaluable in its creation” .– Susan Wolfinbarger, American Association for the Advancement of Science

“Liked the combination of slides and exercises. I learn best by example – your approach lets me type in code, and if it doesn’t work I can check solution. More examples the better for me, everything I’ve ever learned about GIS programming came by starting with an example and modifying it. Thanks again, will likely take a course in the future.” — Joe Spollen, President, Geodatamodelers

“I’m impressed with the quality of the course and materials. I’m recommending your courses to my clients. I think they’re the best thing out there.” — Stephanie Stanfield, Fargeo

“I have enjoyed the class (Mastering the ArcGIS Server JavaScript API).  I like working at my own pace through the materials, between the other things I am working on.  The examples are clear, and I appreciate that I will be able to go back and refer to them during my development efforts.  The advanced dojo section seems like a deep topic, and I see myself referring back to that section and the other dojo resources as I am developing.  Finally, I am glad that I was able to get this training in a cost-effective manner.  It is difficult to get training classes up here in Alaska.  Often we have to get on a plane and leave the state.  As much as I enjoy travelling, it may not be the fiscally responsible thing to do in this era of strained budgets.  This training format seems to work, and I hope to participate in more of these in the future.” — Erick Johnson, GISP, GIS Programming/Analyst – Matanuska – Susitna Borough

Read Full Post | Make a Comment ( None so far )

Spring Training Schedule from GeoSpatial Training Services

Posted on March 3, 2011. Filed under: AGIS Server API for Flex, ArcGIS Server, ArcGIS Server for Silverlight, ESRI, Geoprocessing, GeoSpatial Training Services, JavaScript, Python |

Our Spring 2011 training schedule has been released.  Most of these courses are taught in a web based environment but we do have one traditional face to face session of GIS Programming 101 for ArcGIS 10 scheduled for the King County GIS Center in Seattle, WA.  Here is the upcoming schedule:

Download a beta chapter from our upcoming book on the AGIS JavaScript API

Read Full Post | Make a Comment ( None so far )

Beta Chapter From My Upcoming Book on the ArcGIS Server API for JavaScript

Posted on January 25, 2011. Filed under: ArcGIS Server, ESRI, GeoSpatial Training Services, JavaScript |

I am in the process of writing a book (tentatively titled ‘The GIS Geeks Guide to Mastering the ArcGIS Server API for JavaScript”) about the ArcGIS Server API for JavaScript.  I thought that I would make the process a bit more open by releasing beta chapters that some people might read and give feedback on. Hopefully one of those people is you!

I’m doing this because I think the book will be better based on feedback that I get from my readers and of course it will serve as motivation for finishing the book!

About the book

In short the book is about how to use the ArcGIS Server API for JavaScript to build high performance, attractive Web mapping applications using the lightweight, browser based ArcGIS Server API for JavaScript.  It will be very hands on with lots of examples that can be used right away.

Download the chapter

I am not going to release the chapters in chronological order so the first chapter to be released in public beta is not the first but rather the third covering maps and layers.

Download the chapter, read it, and tell me what you think. Either by posting a comment below or by contacting me directly through eric at geospatialtraining.com.

Download a beta chapter.

The chapters

Here’s a tentative list of all the chapters in the book:

  • Chapter 1: Introducing to the ArcGIS Server API for JavaScript
  • Chapter 2: ArcGIS Server Basics
  • Chapter 3: Working with Maps and Layers
  • Chapter 4: Adding Graphics to the Map
  • Chapter 5: Using Widgets and Toolbars
  • Chapter 6: Editing Data in the Browser
  • Chapter 7: Working with Time
  • Chapter 8: Querying Data from Map Services
  • Chapter 9: Obtaining Information about Features
  • Chapter 10: Finding Features
  • Chapter 11: Turning Addresses into Points
  • Chapter 12: Getting from Point A to Point B (Routing)
  • Chapter 13: Geometry Tasks
  • Chapter 14: Using the Geoprocessor
  • Chapter 15: Understanding Events
  • Chapter 16: Configuration Parameters
  • Chapter 17: Working with Secure ArcGIS Services
  • Chapter 18: Dojo Application Layout Controls
  • Chapter 19: Dojo Form Controls
  • Chapter 20: Advanced Dojo Controls (Trees, Grids, Charts, Image Handling)
  • Chapter 21: Integration with Google Maps
  • Chapter 22: Integration with Bing Maps
  • Appendix: API Reference

As of now I don’t know in which form this book will be published, but I’ll keep you informed as things progress.

If you have a request for something that you want me to include in the book, or any thoughts or questions about it, please contact me.

We’ve also written a number of posts on the API for JavaScript and most have been compiled here.

The next session of our Internet based, instructor guided Mastering the ArcGIS Server JavaScript API begins March 21st.

Read Full Post | Make a Comment ( None so far )

2011 Schedule of Instructor Led Courses (1st Quarter)

Posted on January 5, 2011. Filed under: AGIS Server API for Flex, ArcGIS Server, ESRI, Geoprocessing, GeoSpatial Training Services, JavaScript, Python |

Here is our schedule of instructor led courses for January-March 2011 in both web based and traditional face to face formats.

Mastering the ArcGIS Server JavaScript API
Web Based
January 10th – February 18th
Still 5 Seats Available
$715

Programming the ArcGIS Server API for Flex
Web Based
January 10th – February 18th
$715

ArcGIS Server Bootcamp
Web Based
February 14th – March 18th
$715 when you register by January 15th

GIS Programming 101 for ArcGIS 10
Web Based
February 21st – March 18th
$567 when you register by January 15th

GIS Programming 101 for ArcGIS 10
Traditional Face to Face
February 7th – February 9th
Keck & Wood Headquarters
Duluth, Georgia
More Information
Click here to register

This last one is in May but it’s already on the calendar so we’re including it as well.

GIS Programming 101 for ArcGIS 10
Traditional Face to Face
May 23rd – May 25th
King County GIS Center
Seattle, WA
$1,350
Contact sales at geospatialtraining.com for more information on this session or to register.


Read Full Post | Make a Comment ( None so far )

Using a Proxy Page with the ArcGIS Server API for JavaScript

Posted on December 13, 2010. Filed under: ArcGIS Server, ESRI, GeoSpatial Training Services |

A proxy page handles communication between your application and ArcGIS Server services.  The proxy is server-side code that resides on your Web Server and handles incoming requests from a browser based application.  The proxy accepts the request and forwards it to ArcGIS Server for processing.

There are three situations where you’d use a proxy page in your ArcGIS Server API for JavaScript applications.  The first instance is when your application creates requests that exceed 2048 characters.  This is often the case when your application performs buffering of complex polygons in conjunction with queries or any other application function that performs some type of geometry operation.  To handle this instance the proxy page performs a POST operation which is not subject to the 2048 character limitation when using GET requests.  You’ll also need to use a proxy page when your application uses services secured with token-based authentication and you don’t want the user to be able to view the token or you don’t want to transmit the token between the application and web server.  Finally, any application that requires feature editing will need to use a proxy page.

There are four basic steps to installing and configuring your proxy page.  First, download and configure the proxy page for your server.  This can be ASP.NET, PHP, or Java/JSP.  Next, add code to your application to enable the use of the proxy.  In step 3, secure your web application if you plan to use tokens.  Finally, test your application to make sure the proxy is working as expected.  Detailed instructions for installing and configuring your proxy page is provided by ESRI at the links provided on above.

Coding your application to use a proxy page requires only a couple lines of code.  Normally you’d put this in your ‘init’ function which runs on startup.  You’ll need to provide the Url for the location of the proxy page and the ‘alwaysUseProxy’ property can be set to either true or false.  If your application will be using tokens you’ll want to set this value to true, but otherwise it can be set to false if you know that not all requests will need the proxy.  This would be the case in an editing application or an application where only some requests would exceed the 2048 character limitation.

More Information
The next session of our Mastering the ArcGIS Server JavaScript API begins January 10th, 2010.  We still have seats available.

Read Full Post | Make a Comment ( None so far )

Use ArcPy Mapping to Publish Map Documents to ArcGIS Server

Posted on November 15, 2010. Filed under: ArcGIS Server, ESRI, Geoprocessing, GeoSpatial Training Services, Python |

The ArcPy Mapping module, released with ArcGIS 10 provides a number of capabilities including the management of map documents and layers, printing, exporting, and ArcGIS Server publishing as well as map automation and the creation of PDF map books. In this post you will learn how to use Python and the ArcPy Mapping module to convert a map document file to an ArcGIS Server service. At the end of this post you will have learned the following related to publishing your map document to ArcGIS Server:

  • How to analyze a map document for warnings and errors
  • Convert a map document file to a map service definition file (MSD)
  • Publish a MSD file to ArcGIS Server as a service

Publication of a map document to ArcGIS Server with Python involves a three step process.  The goal of the first two steps is to convert a map document file to a map service definition file (MSD).  The analysis process scans the map document file for any warnings or errors.  Errors must be resolved before publication to an MSD file and warnings should also be carefully examined because they can lead to performance problems in ArcGIS Server.  Once errors and warnings have been resolved, the ConvertToMSD() function can then be called against the file.  This function will create a new MSD file which can then be published to ArcGIS Server through the PublishMSDToServer() function.

Analyze the Map Document for Warnings and Errors
The AnalyzeForMSD() function analyzes the map document for suitability and performance issues before conversion to MSD.  This function returns a Python dictionary containing the warnings, errors, and general messages.  All errors must be repaired before publication.  The code sample below shows an example of calling the AnalyzeForMSD() function.

The AnalyzeForMSD() function takes a map document as a parameter. It analyzes the document and returns information, warnings, and errors in a Python dictionary which in this case is stored in the variable ‘analysis’. We then loop through this dictionary variable and print out the information contained within.  You can see an example of the information returned in the figure below.

You will want to pay particular attention to the ERRORS section. Each error that has been found must be fixed before the document can be published to ArcGIS Server. In this case the background symbol for our data frame is not a solid fill.   A solid fill is required for background symbols.  You can change that in ArcMap by clicking the active data frame and selecting Properties.  All errors listed in the ERRORS section must be fixed before publication can occur.

ConvertToMSD
Once you’ve fixed all errors that have been identified you can convert to your MXD file to an MSD file through the ConvertToMSD() function.  You can specify a specific data frame as the active data frame for the service that will eventually be published to ArcGIS Server.  Again, no errors can be present in the MSD file.  The code example below shows how to convert an MXD file to an MSD.

ConvertToMSD() accepts several arguments including object variables for the mxd and msd files, the data frame to be used as the active data frame for the published service, and two parameters that deal with anti-aliasing. In this case we want the active data frame to be used as the active data frame in the published map service. Therefore, we can simply use a double quote (“”) as the third parameter of ConvertToMSD(). Anti-aliasing is a method for creating a better visualization of text and vector features. I normally just use “Normal” for both these parameters.

PublishMSDToServer
After checking your map document for errors, resolving any errors, and converting the map document to an MSD file you are finally ready to publish the document to ArcGIS Server.  There are several administrative tasks that you must do before performing this final step.

  • ArcGIS Server 10 must be installed
  • Your data and MSD file must be in a location accessible to ArcGIS Server.  More information about this can be found here
  • The username running the publish script must be a member of the ArcGIS Server admin group.  More information about that here.

In your script you’ll need to call PublishMSDToServer() to actually publish the MSD file as a service in ArcGIS Server 10.  You must supply connection information and information about the service to this function.

The code example below represents the general nature of the script you will need to write.  Obviously the path to the MSD file and your server names and service name and folder will be different.

Want to learn more about the ArcPy Mapping module and other programming ArcGIS Desktop with Python topics?  The next session of our Internet based, instructor led course “GIS Programming 101: Mastering Python for Geoprocessing in ArcGIS” begins February 21st.  We also provide a self-paced version of this course which you can find here.

Read Full Post | Make a Comment ( None so far )

« Previous Entries

Liked it here?
Why not try sites on the blogroll...