- GIS and FileMaker – Mapping and More
- GIS and FileMaker – Part 1: The Basics
FileMaker Devcon 2016’s unconference provided the perfect opportunity for us to speak about Geographic Information Science (GIS)–a subject we’re quite passionate about. At LuminFire we’ve been offering GIS services for some time now ranging from simple webmaps to custom Geographic Information Systems built on FileMaker, WordPress, and other platforms. The GIS apps we build help customers visualize, question, analyze, and interpret spatial data to better understand relationships, patterns, and trends. Organizations of all sizes and in almost every industry are using GIS to solve business problems and analyze data with spatial context. Examples of just some of these benefits are:
- Cost Savings from Greater Efficiency
Optimize schedules, routes and fleet movements - Better Decision Making
Real estate site selection, evacuation planning, conservation, natural resource extraction, etc. - Improved Communication
Maps and visualizations help different teams, departments, disciplines, professional fields, organizations, and the public understand data and tell stories.
Some industries where we have personally helped save money, improve efficiencies and enable problem solving with GIS include:
- Local government data management
- Wildlife tracking and preservation
- Evaluating and promoting solar energy potential
- Mapping risks to drinking water sources
- Analyzing EMS response times
- Sign and culvert inventory
- Reducing farming cost and pollution runoff through precise fertilizer application
- Celebrating alumni accomplishments and dispersal
- Letting customers search for local farmers markets by what type of produce they want to buy
- Monitoring tree health and care schedules in parks and cities
In the presentation we took a quick look at two FileMaker GIS apps we’ve worked on at LuminFire recently to show some specifics. We’re going to feature each of these solutions in upcoming blog posts so check back soon for more details.
Precision (Agriculture) Consulting Services – PCS
An iPad app that delivers soil maps, fertilizer and herbicide recommendations via interactive maps in FileMaker Go with location tracking, easy updating of data, and annual crop planning. The final product is setup so that all the customer has to do is export data from SMS Ag Leader Software into Dropbox. Our solution watches dropbox for new data, publishes GIS data to GeoServer and attribute data to FileMaker Pro. FileMaker Go then syncs the new data and caches it for constructing offline maps in the field in Web Viewer.
Wilderness Inquiry Travel Destination Maps
Goals of this app were to display and distinguish between different types of trips offerings, allow interaction with map (access to photos and registration via location), and have dynamic updating as offerings change.
Analytics quickly revealed that maps are primary way people choose to browse trips on Wilderness Inquiry’s website and their trip sales have benefitted immensely.
Other maps used internally by Wilderness Inquiry staff to analyze trends in trips sales such as this map showing how individuals from the East travel West to Yellowstone. Check it out for yourself at wildernessinquiry.org/find-your-trip/destinations.
We next stepped back and examined current options for working with maps in FileMaker–everything from embedding the Google Maps website to tools like ProMaps or FMEasyMaps. One trend we’ve noticed is that many of the available options are Google centric which may not always be a good thing read more. Our favorite option for building maps in our apps is the open source Leaflet JavaScript library. In this screen shot you can see why a custom map built with Leaflet is far more useful than an embedded Google one in this FileMaker Real Estate.
To make maps with Leaflet, and begin performing spatial queries and analysis in FileMaker it is necessary to store spatial data. In its simplest form this can be just coordinates, latitude and longitude, representing a single point. Line, polygon, and raster data are also integral to GIS but are a bit more complicated to work with in FileMaker. We explained how we store vector data using GeoJSON and raster data using a combination of FileMaker’s container and text fields.
Where can you find spatial data?
We discussed options for using freely available data from sources like Data.gov, turning your addresses in coordinates (a.k.a. Geocoding), and collecting your own location data using tools like FileMaker Go’s LocationValues or reading Latitude/Longitude from photos snapped with GPS enabled cameras. The are many tools and services available for working with spatial data and making your own maps and apps. The figure below represents our current toolbox but if you’re just getting going Leaflet and Carto are great places to start.
Demos
We spent the remainder of our talk demoing 7 GIS functions we’ve built in FileMaker Pro including:
- Basic Leaflet maps
- Geocoding using web services
- Mapping geotagged photos
- Mapping a found set using a multi-pin map and selecting records by drawing and area of interest on a map (i.e. performing a FileMaker find)
- Distance queries using only FileMaker Custom Functions
- Interactive spatial analysis of home prices, school districts, and school ratings
- Creating, editing, and storing vector data in FileMaker
Michael and I repeated the entire “GIS and FileMaker” unconference presentation at the FMPUG-MN October meetup in the new LuminFire office. This time we managed to get a good recording of it:
We’re working on a blog post series where we’ll cover in depth beginning, intermediate, and advanced mapping in FileMaker Pro including demo files to help you get started. If you’re interested in being notified when these posts become available please sign up at luminfire.com/our-solutions/gis-spatial-mapping/. For now, take a look at our Anatomy of a Web Map blog series and read more about our takeaways from this year’s Devcon. And of course, if you’d like our help navigating your own map creation process, please feel free to contact us for assistance!