As a software developer, coding something that’s already been designed, implemented, and optimized is a pretty gigantic waste of time.
Open source libraries help developers avoid re-inventing wheels. At this year’s FME UC, PostGIS founder Paul Ramsey took the stage to talk about the awesomeness that is Open Source. He explained how it’s important that developers use available knowledge—and FME devs understand this, adding value by building useful functionality on top of open source libraries.h
Safe Software proudly supports the Free and Open Source Software (FOSS) community and regularly sponsors the North American FOSS4G conferences. FME uses many FOSS libraries, and when the devs here at Safe aren’t playing soccer or LEGO or a game of oversized Jenga, they’re working hard to make these libraries more accessible.
Our use of these libraries is a friendly two-way street. A two-way Yellow Brick Road, if you will. FOSS adds value to FME’s advanced data transformation and automation capabilities, while our contributions to these technologies have included funding, coding, testing, and bug fixes. Here are ten such libraries.
10 FOSS Libraries that FME Uses and Contributes to
Mapnik is a toolkit that renders raster and vector data into beautiful cartographic maps. FME’s Mapnik transformer lets users leverage Mapnik’s capabilities with any of the 325+ data formats FME supports. With Mapnik and FME, you can also create Web Map Tiling Services, make a map out of your face, map yer way to buried treasure arr matey!, and other such highly critical tasks. FME’s intuitive graphical interface makes it easy for any user to benefit from this complex library.
SpatiaLite extends SQLite into a simple Spatial DBMS. FME’s SpatiaLite Reader / Writer allows users to connect this format with hundreds of other formats, and leverage all of FME’s data transformation and automation capabilities. For example, you can instantly import SpatiaLite data into Google Maps Engine using our free Data Loader for Google Maps Engine.
PostGIS is a spatial database that adds support for geographic objects and location queries to PostgreSQL. FME’s PostGIS Reader / Writer lets users integrate hundreds of data sources with this format. Watch Paul Ramsey’s FME UC talk to see the evolution of PostGIS, from the ideas that inspired it to its widespread use today.
4. JTS and GEOS
JTS and GEOS (Geometry Engine – Open Source) provide spatial predicates and functions for processing 2D geometry. JTS is the Java library and GEOS is the C++ library. Some of FME’s powerful geometry transformations are based on GEOS/JTS algorithms.
5. OGR and GDAL (Geospatial Data Abstraction Library)
These OSGeo libraries support reading/writing over 50 raster formats (GDAL) and 20 vector formats (OGR). FME uses these libraries to add several readers and writers to its list of supported formats, which means these formats gain a wide range of enterprise transformation and automation capabilities.
Bonus: if you use a GDAL-based format in FME, you can feel comfortable knowing it was probably implemented by our in-house world Tetris champion.
FDO works with a variety of geospatial data. This OSGeo API brings additional formats to FME, for example SQLite. Safe was one of the earliest adopters of this API (version 3.0) and is acknowledged as an official Product Using FDO.
Ingres is an RDBMS that supports large commercial and government applications. Safe’s partnership with Actian resulted in an open-source FME reader/writer for Ingres tables. This means increased data accessibility for Ingres users, making it easy to integrate spatial and enterprise data.
Qt is an application framework that we’ve used to help make FME fully cross-platform. Since FME 2013, FME has been available in beta on Mac and Linux platforms.
Interlis is a geodata modeling and integration language adopted by the Swiss government as their national standard. Eisenhut Informatik is one of Safe’s longest standing open source partners, and their ili2fme plug-in allows Interlis data to be translated to/from any of the formats supported by FME.
LASzip is a specialized library by Martin Isenburg that compresses LiDAR data without information loss—turning chubby LAS point clouds into lean, manageable LAZ files. The incorporation of this technology into FME has resulted a great improvement in the ability to archive and exchange point cloud data.
But Wait, There’s More
For the full list of libraries licensed under the LGPL, visit our FOSS page. You can also view more information about FME’s open source libraries by opening FME Desktop and selecting About > Legal Notices.
FME for Free
If you want to use FME for non-commercial purposes, you qualify for a free FME Home Use License.
We also offer a couple of free tools: CityGML Importer for InfraWorks, FME Revit Exporter Plug-in, and Easy Translator (a web service for immediately translating data into your required format and coordinate system).
How have you integrated your software or project with Free and Open Source Software? Are you attending FOSS4G this year, or have you in the past? Let us know in the comments!
Tiana WarnerTiana is a Senior Marketing Specialist at Safe Software. Her background in computer programming and creative hobbies led her to be one of the main producers of creative content for Safe Software. Tiana spends her free time writing fantasy novels, riding her horse, and exploring nature with her rescue pup, Joey.
Currently I work on a project, where I mesh up open data (houses, cadastral parcels, addresses, dtm, dsm, orthophotos) into attractive 3D models, directly viewable and navigable in a web browser.
Transformation of the vector data is done in FME; GDAL functionality in a vintage batch file slices up the imagery.
This data then is imported into Blender, a 3D FOSS which exports it to WebGL content.
On the website (WIP!), the user can type in an existing address and then its 3D model is displayed, which can be viewed from all sides, information can be derived and more.
The project comprises over 3 million buildings
Very impressive! That’s a lot of sources and tools coming together, and we love to see FME + Blender in action. Keep us posted. We would be interested in seeing the final results of this.
If i want to make an spatial ETL . LIKE MAKE SPATIAL JOINING or relation between alot of layer .how can fme help me
can you give me all details about this plz.