Image Image Image Image Image
Scroll to Top

To Top

Mapping Solutions

30

Jul
2014

In Mapping Solutions

By Eric Compas

New Program Manager – Guy Hydrick

On 30, Jul 2014 | In Mapping Solutions | By Eric Compas

We’re proud to announce that Guy Hydrick, Pangea Studios new Program Manager, started his new position today. Guy’s coming to us from Pennsylvania with a masters degree in Environmental Sciences from the University of Manchester, a strong background in local government, and stellar GIS skills. We’re looking forward to integrating him into our operation and seeing what new directions his expertise takes us.

Welcome aboard!

30

Jul
2014

In Drone
Mapping Solutions

By Aaron King

First images and 3D models from our drone

On 30, Jul 2014 | In Drone, Mapping Solutions | By Aaron King

Image mosaic of drone training site

Image mosaic of drone training site

After days of installing and configuring software, we’ve gotten some of our first images and models (taken during our training in Akron, Ohio). Using our post-process imaging software, we stitched together over 200 photos and created a 3D point “cloud” from overlapping images (stereo pairs). As a result, we now have scaled 3D models of our survey and training area.

The photo above shows the stitched 2D image mosaic, and the videos below show the 3D reconstruction using a regular camera and a second with a camera modified to take infrared pictures. This can help us assess vegetation health as well as making 3D reconstructions.

Aaron King

Tags | , , , ,

11

Jul
2014

In Drone
Mapping Solutions

By Eric Compas

Drone training at Event38

On 11, Jul 2014 | In Drone, Mapping Solutions | By Eric Compas

Dr. John Frye hand launching the drone

Dr. John Frye hand launching the drone

We’re now in the air! As part of our drone project, we traveled to Akron, Ohio, to get flight training from Event38. Six students and Dr. John Frye joined us on the trip to learn the ropes. At the training, we learned how to assemble and do a pre-flight check on the plane, as well as how to launch (a hard hand toss), complete an aerial photography mission, and land the plane manually (it was easier than we thought! All eight of us successfully landed the plane).

Thanks to Joe from Event38 for the great day of training!

Aaron King in control

Aaron King in control

Our training flight paths

Our training flight paths

Example RGB image

Example RGB image

Example near-infrared image

Example near-infrared image

Tyler assembling plane

Tyler assembling plane

02

Jun
2014

In Drone
Mapping Solutions

By Eric Compas

Drone purchase – Event38 fixed wing

On 02, Jun 2014 | In Drone, Mapping Solutions | By Eric Compas

E384

E384

For our drone project, we’ve decided to purchase a fixed-wing aircraft, the E384, from Event38, a small company out of Akron, Ohio. Their system is built on top of open source and open hardware APM platform developed by 3DRobotics. The advantages include:

  • longer flight times (~90 min) for aerial surveying (relative to quadcopter options)
  • great open source mission planning software developed to work with the APM
  • decreased hazards from spinning props (the plane is a “pusher” with the prop behind the wings)
  • access to the open source community surrounding the APM
  • a proven platform for acquiring usable imagery
  • easy access to parts for any repairs that may be necessary
  • potential for using aircraft as template for building our own from scratch

Event38 also maintains a wiki detailing the setup and operation of their craft and a blog of their drone experiments and projects.

Mission Planner

Mission Planner

25

Apr
2014

In Drone
Mapping Solutions

By Eric Compas

NASA Grant – Exploring use of low-cost UAVs or “drones”

On 25, Apr 2014 | In Drone, Mapping Solutions | By Eric Compas

This spring we were recently awarded a NASA/Wisconsin Space Grant Consortium Research Infrastructure grant to explore the use of low-cost unmanned aerial vehicles (UAVs), or “drones,” for high temporal and spatial resolution imagery. Our plan is to purchase an off-the-shelf system and create imagery for several UW-Whitewater projects including: habitat mapping for an endangered turtle release site, post-storm event imagery, and seasonal changes in-stream debris.

Stay tuned to this channel as we carry out our plans this summer!

20

Jun
2013

In Mapping Solutions
Tips and Tricks

By Alvin Rentsch

How to add a map service for ArcGIS server

On 20, Jun 2013 | In Mapping Solutions, Tips and Tricks | By Alvin Rentsch

This tutorial does not discuss how to connect to a server. Please see our other content for that. Requirements for this are a ArcServer Connection and if you need to be able to edit your maps , all your data must be sourced in a SDE. Don’t forget to register your data store or you will copy all data to the server and waste space.

Tags | , , ,

13

Jun
2013

In Mapping Solutions

By ColonC20

How to Georeference an Image in ArcMap

On 13, Jun 2013 | In Mapping Solutions | By ColonC20

1.) If you are using a print map, you will need to scan in to your compute and save it as a JPG. If you are using a PDF of a map you will need to save it as a JPG (you can simply screenshot or use the snipping tool and save it as a JPG).

2.) In ArcMap, make sure that the Georeferencing Toolbar is on. Customize>Toolbars> Georeferencing (Make sure that there is a check mark next to it).

3.) The Georeferencing Toolbar looks like this:

4.) Then, in ArcMap add the image that you want to georeference by clicking the Add Data button. After you select your image, click the Add button.

5.) Then, after you add your image, click the drop down arrow next to the Add Data button and click Add Basemap and choose one that will be most helpful to you.

6.) Then in the TOC, right click on the image you want to georeference and click Zoom To Layer.
7.) In the Georeferencing toolbar click the Add Control Points icon

8.) Then, find an intersection of roads on the image and click to place the Control Point there.

9.) Next, right click on the basemap in the TOC and click Zoom To Layer. Zoom to the location on the basemap where your image is actually located on the globe. Find the same intersection of roads that you added a control point on the image and add a control point to that same intersection on the basemap.

10.) The image will move to that location. Find two more intersections to add control points (spread them out across the image). If after having a total of 3 control points you feel your image still needs to be aligned, add more control points as necessary.

Tags | , , , , , , , , , ,

05

Jun
2013

In Mapping Solutions

By Craig Nelson

Granting Dataset Privileges in ArcMap with PostgreSQL

On 05, Jun 2013 | In Mapping Solutions | By Craig Nelson

While deploying and configuring our newest geodatabase, I was tasked with setting up user login information for each employee on the PANGEA team, rather than simply sharing the superuser login. As someone who worked with creating users, setting up user groups, and granting access/edit/deletion privileges for databases in classes previously, I assumed the task would take a matter of minutes. I was wrong.

Initially, the project seemed to be running quite smoothly. By connecting to our database server via remote desktop, then running the PostgreSQL DBMS Admin client (pgAdmin III), I was able to quickly establish 3 separate user groups (User, Publisher, and Admin). From there, I simply created individual user logins, then added them to their respective groups. Through pgAdmin, I tested to make sure that all Admin users could create, edit, and delete new databases, that Publishers could create and edit, and that Users could only view, but not change, the database. So far, everything was working well.

The issues started once I began to work outside the database server. Through ArcMap, we needed to setup our new server with geodatabases, rather than normal, blank databases. To do so, the ArcMap client needed to access the database server, then upload several tables full of geographical referential data. However, each time we tried running the very simple tool within ArcMap, we’d end up with a connectivity error. After a few hours of troubleshooting these issues, including editing config files to enable ip access and tinkering with several server settings, we eventually discovered the problem through simple ping tests via the DOS command prompt. Our database server’s Windows Firewall hadn’t been configured to allow outside access. In just a few mouse clicks, we enabled access and were back on our way.

After successfully allowing access to our new database in ArcMap, we set up a new geodatabase to begin testing user privileges. However, it seemed that no matter how many privileges we granted both our groups and our users via pgAdmin, not a single account other than the original superuser was able to make any changes to the database due to ownership. We attempted to grant privileges on a group basis, a per-user basis, a per-database basis, and even a per-schema basis, and yet nothing seemed to make a difference within ArcMap. It wasn’t until we contacted the experts at ESRI that we found a solution to our issue.

Rather than granting privileges on a database level through the database server itself, we found that the key to setting up user privileges for ArcMap Geodatabases boiled down to two simple ideas: one, that each user needed their own version of the database schema and two, that privileges in ArcMap are granted on a per-dataset, rather than per-database basis. Now that we have this solution, we have been able to successfully build, deploy, and grant user privileges as planned to geodatabases on a new database server.

 

In short, the steps to granting dataset privileges for ArcMap geodatabases are as follows:

1) Create a new Login Role through your database server’s DBMS client

2) Grant basic database access privileges through DBMS client

3) Within your geodatabase, create a new schema with corresponding access privileges through DBMS client

4) In ArcMap, connect to your geodatabase via the your superuser (owner) account

5) Once connected, right-click on each dataset, navigate to manage, then privileges, where you can grant SELECT, ADD, EDIT, and/or DELETE privileges to each user.

Tags | , , , , , , , , ,

23

May
2013

In Mapping Solutions
Tips and Tricks

By Lance Kohls

Tips and Tricks for Mapmaking using Javascript

On 23, May 2013 | In Mapping Solutions, Tips and Tricks | By Lance Kohls

The steps in order to enable only one check-box (out of 2 or more check-boxes) when the application starts:

1) Changed the checkbox checked property -> checked: (id == “25″) ? true : false

2) Added the line map.getLayer(“4″).hide();  in order to hide the layers whose check-boxes are not checked. -The line to be added goes after the “map.addLayers([list of the layers on the map]);”

-The line to be added goes before the “dojo.connect(map,’onLayersAddResult’,function(results){

//re-size the map when the browser re-sizes”

 

Removing the comma from a Flexviewer Applications:

1) In the popup.xml file edit the line of code that needs the comma removed:

“<field visible=”true” alias=”Zip Code” name=”zipcode”>

<format usethousandsseparator=”false”/>

</field>”

Another Example:

 

“<field visible=”true” alias=”Year” name=”Year”>

<format usethousandsseparator=”false”/>

</field>”

*If there are any extra spaces in the coding it may not work.

09

May
2013

In Mapping Solutions
Tips and Tricks

By Lance Kohls

Enable layer toggleing using Javascript

On 09, May 2013 | In Mapping Solutions, Tips and Tricks | By Lance Kohls

Steps to making a layer in a legend turn on and off:

*IMPORTANT: anything that is labeled with an asterisk doesn’t get put into the coding.

1. In the script tag next to the other dojo.require(…)

Make sure to add:

dojo.require(“dijit.form.CheckBox”);

dojo.require(“esri.dijit.Popup”);

dojo.require(“esri.layers.FeatureLayer”);

2. In the var template inside the Function InIt(){

Example

var template = new esri.InfoTemplate(“${business}”, “Address: ${address_1} <br/> City: ${city} <br/> State: ${state} <br/> Zip Code: ${zipcode} <br/> Website: <a target=’_blank’ href=${website_1}>${website_1}</a><br/> Type: ${type_1}”);

*IMPORTANT: The code above has to be on one line. It can not be entered in two or more lines because the enter will break the coding. You must use “br/” tags to be able to enter in more fields after the first comma is used. Anything before the first comma above will be the header to the popup and everything after it will be the attributes it brings in.

I also made the websites a hotlink within the popup for people viewing it to have an easy way to bring up the website.

var uniquename = new esri.layers.FeatureLayer(“http://java.leg.edu/arc/rest/services/MapFolder/MapLayer/MapServer/0″,
{id:’uniquename‘,
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields: ["*"],
infoTemplate: template});

legendLayers.push({layer:’uniquename‘});

*IMPORTANT: If the uniquename in the case above is not the same in the three locations that are colored red then the layer will not show up on the map.

3. The coding below must be placed after the layers are added into the coding.

Example

//Add the Legend
var legend = new esri.dijit.Legend({
map:map,
layerInfos:legendLayers,
arrangement:esri.dijit.Legend,
},”legendDiv”);
legend.startup();
});
map.addLayers([uniquename]);

*IMPORTANT: The layers you want entered into the legend will be placed inside the bracket of map.addLayers([]). If there is more than one layer that needs to be displayed then put commas after each uniquename.

dojo.connect(map,’onLayersAddResult’,function(results){

//add check boxes
dojo.forEach(legendLayers,function(layer){
var layerName = layer.title;
var checkBox = new dijit.form.CheckBox({
name: “checkBox” + layer.layer.id,
value: layer.layer.id,
checked: layer.layer.visible,
onChange: function(evt) {
var clayer = map.getLayer(this.value);
clayer.setVisibility(!clayer.visible);
this.checked = clayer.visible;
}
});

//add the check box and label to the toc
dojo.place(checkBox.domNode,dojo.byId(“toggle”),”after”);
var checkLabel = dojo.create(‘label’,{‘for’:checkBox.name, innerHTML:layerName},checkBox.domNode,”after”);
dojo.place(“<br />”,checkLabel,”after”);
});
});

*IMPORTANT: Anything that follows the //add check box has to be typed exactly like what is being displayed because it is very sensitive coding and one error will cause the entire page to fail.

Enjoy javascripting!