XYZ

Top Feature Enhancements Driven by HERE XYZ Beta Participants

By Jayson DeLancey | 28 March 2019

Your product feedback matters

Almost six months ago, on October 1st, HERE XYZ was shared with the world in a Public Beta. A number of you took us up on our offer, used the product to make maps and provided us invaluable feedback.

As you may have noticed, HERE XYZ has exited its Public Beta phase and is now Generally Available. Your engagement with us resulted in more than 3000 projects, more than 700 maps, more than 90GB of map data uploaded, and almost 900GB of data transferred. We look forward to continuing the journey and getting others to join us in using HERE XYZ to manage geospatial data, at scale, to make great web maps and location-aware apps.

More importantly, we wanted to share with you how your feedback during Beta led directly to the addition of features. While the full list is quite exhaustive, we’ve decided to pick out three examples each for XYZ Studio and for the HERE CLI – all of which demonstrate the value of developer feedback – so, please keep it coming – we’re using it all!

XYZ Studio

HERE XYZ Studio is an interactive, visual, web-based application for accessing XYZ Hub data and creating maps within minutes - without any code. Since Beta we’ve made many changes including conditional formatting, smart data tables, and legends for published maps.

Style Rules

This will likely be one of the biggest productivity boosters to your workflow. When styling layers it is cumbersome to separate out and style individual points. With conditional formatting you can style the entire layer the same or define rules for styling groups of data that meets certain characteristics.

For example, in the Mapping Seismic Activity tutorial we demonstrate how to import seismic activity into XYZ Studio. With the conditional formatting feature, a few clicks and you can create a unique style group for earthquakes with a magnitude greater than 5.0 to be styled separately.

edit-style-rule

Just select the property, comparison operator, and any values that make sense for your use case.

Data Tables

We like maps of course, but sometimes we also want to see or edit the underlying properties of a feature. The data table has been available since the beginning but for very large data sets was sometimes unmanageable.

To solve this we’ve strengthened the connection between what you see in the map viewport and the data displayed in the data table. The features visible on the map will be treated like a bounding box to populate the table of data. This not only helps improve usability by narrowing down the data, it will greatly improve the performance for large amounts of data.

xyz-studio-data-table

For spaces with a smaller number of features – you will still be able to search, add columns, edit cells, or delete rows. Larger data sets will be paginated to help with managing the data being displayed efficiently.

Legends

Maps are better when shared – but it may not always be clear to anybody other than the map maker that designed the map what the data means. Symbols are a fundamental feature when publishing a project, so you have full control over the naming of layers and styles that can optionally be displayed in a legend.

legendary-map

With credit to NPH, we hope you find these changes to XYZ Studio legend… wait for it, ary.

XYZ CLI

We think developers deserve an easy to use, convenient and streamlined experience to work with XYZ Hub APIs. That’s why we’ve built the HERE CLI. HERE CLI is a Node.js command line interface which provides more detailed upload options and can be helpful for automating some simple workflows and bash scripts. With the HERE CLI, additional data formats like Shapefiles and GeoJSONL can be easily streamed in to XYZ spaces on upload.

Streaming Upload

Uploading files with a web browser is pretty common for single files. Some geospatial data formats like Shapefiles may spread out geometry and properties data over multiple files which makes a simple drag-n-drop interface tricky. The CLI can help manage multiple-file formats like that.

What about big data sets? Depending on your operating system and configuration, node may not efficiently handle memory loads if reading a file into memory all at once. The new -s flag will read the file in a data stream and update your XYZ Hub space.

here xyz upload YOUR_SPACE_ID -f big_data.csv -s

This can be used for uploading any supported format (GeoJSON, Shapefiles, etc.) as well. You can find out more from the CLI command docs: Upload and stream large CSV and GeoJSON files.

GeoJSONL

You may not already be familiar with GeoJSONL but it has usage in some systems such as the Interline GeoJSONL OSM Extracts. The problem this variation of GeoJSON tries to solve is what to do about very large geographic datasets. The world is a big place afterall, so the problem is solved by replacing a single root object with an array of objects separated by newlines. This violates the JSON specification but works well with many streaming parsers.

The data file might look something like this:

{"type":"Feature","id":1,"geometry":{"type":"Point","coordinates":[-157.8556764,21.304547]},"properties":{"@type":"node","@id":21442033,"@timestamp":1520001878,"ele":"6","name":"Honolulu","is_in":"USA, Hawaii","place":"city","source":"Landsat","capital":"4","name:de":"Honolulu","name:en":"Honolulu","name:ja":"ホノルル","name:lt":"Honolulu","name:pl":"Honolulu","name:ru":"Гонолулу","name:uk":"Гонолулу","name:zh":"檀香山市","is_state":"Hawaii","name:haw":"Honolulu","wikidata":"Q18094","wikipedia":"en:Honolulu","population":"390738","is_in:ocean":"Pacific","is_in:country":"USA","state_capital":"yes","population:date":"2010","is_in:iso_3166_2":"US-HI","is_in:country_code":"US"}}
{"type":"Feature","id":2,"geometry":{"type":"Point","coordinates":[-158.0310257,21.6859095]},"properties":{"@type":"node","@id":88542613,"@timestamp":1195080018,"created_by":"JOSM"}}

In addition to the -s streaming option mentioned above for large files, the HERE CLI will now recognize this .geojsonl file extension and process this structured file. You can learn more about the format from the blog post: Even more geospatial tools supporting the “GeoJSONL” format. 

QGIS Plugin

One of the core philosophies of the HERE XYZ is to be open to the tools developers and map-makers are comfortable using already. For many GIS professionals and students, QGIS is the free and open-source cross-platform desktop application used every day. To make it easier to view, edit, and analyze data from the HERE XYZ Hub API we’ve released the xyz-qgis-plugin on GitHub.

qgis-plugin

This plugin works with QGIS 3.0+ so that HERE XYZ supports you and your task rather than requiring you to change your workflow to use it.

What's Next?

Now that HERE XYZ is available as a product from HERE Technologies, please visit our developer site to learn more about how HERE XYZ enhances existing developer plans.

If you are at FOSS4G North America in San Diego April 15-18, come by our booth, meet the product team and learn everything you want to know about HERE XYZ. We have a breakout session and interactive workshop planned to give you some hands-on experiences. See you in San Diego – until then, stay in touch on Twitter.