Hic Sunt Dracones

Here be dragons

Gorgeous Hand-Made Globes

I love globes, and I was delighted when I found an interview of Peter Bellerby in Fashion Times. Peter Bellerby is the founder of Bellerby & Co., and they are making impressive handmade and hand-painted globes.1

Mind you, the globes are very expensive; the cheapest you can buy is £999, and Bellerby are marketing their globes as luxury goods. If the globes are outside your price range, you can still enjoy beautiful photos on their Instagram account.


  1. Photos are courtesy of Bellerby & Co.

» The Roadmap to Roadmaps: A Survey of the Best Online Mapping Tools

Think Google Maps is the only online mapping tool in town? Think again.

These days, there are a ton of excellent tools for online maps of any flavor. Toptal engineer Tomislav Bacinger breaks down the options, and gives you all you need to know to pick the best tool for your every mapping need.

I’ve written an article for a Toptal Engineering Blog that reviews current online mapping frameworks, compares mapping libraries and services with code examples, and gives a little bit of a mapping history.

The Roadmap to Roadmaps: A Survey of the Best Online Mapping Tools.

» Using D3.js to Make Beautiful Web Maps

Manipulating and presenting geographic data can be tricky. If your destination is beautiful custom web maps, it can be tough to navigate the multitude of tools to get there.

Need directions? Toptal engineer Tomislav Bacinger shows the way, demonstrating how the D3.js library fulfills all your cartographic desires.

I’ve written an article A Map to Perfection: Using D3.js to Make Beautiful Web Maps for a Toptal Engineering Blog.

» GPS Coordinates to GK Transformation Tool Hits v1.0

What is new in v1.0

  • As described in my initial GPS Coordinates to Gauss–Krüger Transformation Tool post, Gauss tool was originally developed using OpenLayers v2.12. In the future plans part I mentioned that I would like to move to Leaflet for various reason, and OpenLayers’ big size was the biggest. In the meantime, OpenLayers released new major v3.0 release, so it was time for me to migrate from OpenLayer v2. After some contemplating, I dedicated moving to Leaflet in any case. I am not using much of the OpenLayers functionality, and building a custom OpenLayers build is not my thing. So I did rewrite the tool to leverage Leaflet and Proj4js directly.
  • While I was doing code rewrite, I decided to use Bootstrap to get better UI experience, especially on the mobile devices. Also, all raster icons were replaced with Font Awesome icons.
  • Gauss tool is now also available on the GitHub under the MIT License. Feel free to fork the repository.
  • Lastly, Gauss tool is now moved under the gauss.svemir.co subdomain. The old URL is still active, with automatic redirection.

Future plans

Out of my initial future plans list, only the support for additional coordinate systems, namely Gauss–Krüger zone 7, is not realized. Unfortunately, so far I did not get any request for that feature.

At the moment, I am thinking to improve the accuracy of the tool by providing more transformation parameters with the ability to select more precise transformation parameters for specific areas/counties, namely using Transformation parameters per each county in Croatia document.

Please, leave feedback

If you are using Gauss tool, let me know what you think, and where is tool falling short for you. If you found a bug, please contact me, or create an issue on the GitHub.

In the end, many thanks to those who did sent me a bug reports and helped me to resolve them.

Intergraph GeoSpatial Portal 2014 Review

I’ve finally got the project where I could try the latest version of the Intergraph GeoSpatial Portal. Here is my short experience with the Portal, and a few problems that I have run into.

Installation

Installation is very simple and straightforward. After the finished installation, in the WebMap Administrator panel in your browser of choice, under the New instance menu, there is an option to create a new GeoSpatial Portal instance. This option triggers a wizard that copies all the files from the Portal template folder and creates a new virtual directory under IIS.

After that, Portal is working out of the box, without any customizations needed. That is very nice and enables you to start playing with the Portal very fast and easy.

Customization

A note; before you start working with the portal, take some time to read two provided documents with the Portal: GeospatialPortal_AdministratorGuide.pdf and GeospatialPortal_UserGuide.pdf.

Most of the Portal customization is done via JavaScript, where you are using Intergraph small API that is extending few Ext.js functionality. For example, you can easily add new custom buttons to the existing toolbars. However, if you need to do bigger UI modifications to the Portal, like for example, adding your toolbar, you need to purchase an SDK. The problem with an SDK is, Intergraph is not clear on its price, and to my knowledge SDK is still not available for the version 2014. Also, it is worth mentioning that SDK customizations are done in C#. To read more about the SDK, or just to see JavaScript customizations code examples, go to Geospatial Portal SDK page.

In the end, I’ve managed to get most of the my needed features without using an SDK by hacking the UI with my custom HTML and JavaScript, and by applying existing CSS classes to maintain existing Portal style. It is not great, but it is working. That is until Ext.js changes ID values of the HTML elements because it is generating IDs dynamically.

Custom language selection is available, but only if you are lucky enough that Intergraph has provided the translations for your language. Portal cannot be fully localized if the translation files were not provided. You can change few sentences, but not everything. Some labels and messages are baked and compiled into the solution (DLLs) and offered as a part of Portal. So, you can not translate the complete Portal, and there will be English captions left in the GUI. Again, with some JavasScript hacks that change innerHTML properties, labels can be updated after the portal loads.

Adding your data to the Portal

Since the Portal already requires Webmap, the easiest way to get your data into Portal is by creating a new WMS service with MapPublisher from the GeoMedia. If you ever worked with a MapPublisher, you know that this is a very simple and automated process with wizards and adding your data via WMS is quite straightforward. Changing the styles, or adding new layers, just requires you to edit your GeoWorkspace in GeoMedia and hit Publish. Moreover, your changes are reflected in the Portal next time you change the zoom level, and Portal requests new data from the server.

I remember a long time ago that Intergraph was claiming that WebMap and GeoMedia are now sharing the same rendering engine. Unfortunately from my experience, this is not the case. For example, lines need to be much thicker in GeoMedia to be rendered nicely by WebMap. Labels, on the other hand, need to have a background color to be readable. Although you must not use white as a background color because it results with some strange glitch in the display. Using very light gray solved the problem for me.

Portal supports searching via WFS-G Gazetteer service. With WFS-G search service, I had most of the problems. The service is not very well documented, and steps required to get the service working are very confusing. When you create new WFS-G instance from the AdminConsole, you get preconfigured web.config file with lots of options. Getting a simple searchable feature to work was not easy. Thankfully, after a long email conversation with the Intergraph support team, they have sent me a proper and much simpler web.config file that was working and was much easier to customize further. Many thanks to Jan from the Intergraph support team for the help! After that, adding a WFS-G service to the Portal resulted with much feature richer Portal. To be honest, without the help from the Intergraph support team, I would not be able to get it work on my own. Especially getting it to work with my custom SRS.1

On the topic of custom SRS, it is worth mentioning that I did not use default EPSG:4326 coordinate system nor the publicly available background maps, like for example Google Maps. All my source data were in one coordinate system, and for display, I used the different coordinate system. Coordinate transformations worked flawlessly.

To improve and customize UX further, you can intersect featureInfoRequested event and add your own code that is executed when a user clicks on the features. From here, using Ext.jspossibilities are endless.

Conclusion

Initially, Portal needs some time to load fully. However, after that, it is working quite fast.

If you need to get your data visualized on the web very quickly and without much coding, I would recommend using the Portal. The price you pay for the license, compared to the price you would need to pay some developer to develop the portal from the scratch with all the matching features, or the time you would need to invest in coding it by yourself, is marginal. Portal is feature-rich and very simple to do basic customizations. The only question is how much of the customizations you need? The answer is the same like for any rapid development tool – if you are satisfied with 90% of the functionality that the Portal offers, it save you much time and money. However, if you need to do many customizations and custom UI design or code changes, sooner or later you will hit the wall.

Nevertheless, to get your spatial data visualized fast and easy on the web, Intergraph GeoSpatial Portal is the way to go!

To see the Portal in action head to the Intergraph GeoSpatial Demo Portal.


  1. If you need help with WFS-G, get in touch, and I will try to help you.

» EPSG.io - Find a Coordinate System and Get Position on a Map

Klokan Technologies GmbH, Switzerland announced EPSG.io, a new web service that simplifies discovery of coordinate reference systems. New service includes a database of over 6000 coordinate systems used in maps worldwide, based on the official EPSG database that is maintained by OGP Geomatics Committee.

A full text search enables searching by Country, EPSG code or by name of a coordinate system. Each coordinate system has a short and rememberable permanent link i.e. http://epsg.io/4326 and is exportable in various formats (WKT, OGC GML, XML, Proj.4, SQL and JavaScript). The whole project is open-source and available on GitHub. On GitHub is also documentation about its API that allows integration of the search functionality and transformations in third party applications.

EPSG.io

How does EPSG.io differs from Spatial Reference that offers a similar service?

  • It is much easier to find the coordinate systems (for example query “utm wgs norway” gives list of all UTM zones with WGS covering area of Norway).
  • All available transformations for selected coordinate reference system are visible and applicable (it is possible to find alternative 7 parameter transformation for Proj4js replacing a default grid transformation, or choose a transformation with higher accuracy for a selected area).
  • Preview location for any numerical coordinates on a detailed map – with copy&paste functionality.
  • Complete EPSG database with codes for datums, units, transformations, etc is indexed and searchable, and the individual EPSG records are linked from every detail page.

Take Your Drone for a Walk and Shoot Some Aerial Photos on the Way

Zurich-based academic and researcher Sergei Lupashin had an idea – to put the quadcopter on a leash. The story behind it is to show that a leash can completely change the nature of a drone and that it eliminates a need for special piloting skills. Lupashin compares a drone on a leash to a kite, and therefore calls it Fotokite.

At the core of the Fotokite approach is the “keep it simple” philosophy. There’s no remote control and there is no GPS unit, just accelerometers and a gyro that measures the speed of rotation. The software on board of the Fotokite takes care of maintaining the same relevant angle to the direction its “pilot” is moving. This allows a steady control over photos and video shots from above.

And what is the best part? Because of the tether, the drone is not autonomous. And because it is not autonomous, it falls outside of regulation on “unmanned aerial vehicles” in most cases. Especially in the United States where Federal Aviation Administration regulations on “unmanned aerial vehicles” don’t apply to tethered aircrafts. Fotokite

Hubsan X4 H107C Review

For a long time now, I have been reading stories about drones (also known as Unmanned Aerial Vehicles (UAV) or Unmanned Aerial Systems (UAS)) and their use in surveying. Drones have altered modern-day photogrammetry by easing capturing of photogrammetric geodata, especially compared to satellites, airborne photogrammetry and traditional land surveying. They are more immune to bad weather than satellites or aircrafts, and they are much cheaper to run. All this intrigued me to buy one. But the problem was their high price, and very long and steep learning curve to properly fly them without breaking them, or hurting somebody on the way.

Until I’ve found interesting and very affordable little drone with a camera – Hubsan X4 H107C. It is small 2.4Ghz 4 channels RC quadcopter with 0.3 MP camera, 6-axis gyro and flying outdoor ability. It was a perfect way for to me to get into drones for affordable price. After some googling, I’ve found it on the Chinese webshop called Banggood. The shop has very mixed people reviews, but I’ve decided to take a shoot and ordered one from them. I also bought reserve battery and 16GB MicroSD card to have more flying time and to record video.

After a standard one month of waiting for a package from China, the drone has arrived. Everything was very nicely packaged and I had no complains. I opened the box, and in the time I recharged two batteries I’ve read the instructions. Nothing complicated I thought. But how wrong I was!

I did some initial calibration, and on the first lift-off drone smashed to the wall. Of course, one little blade was completely broken with other blades severely damaged.

This was the end of my first test flight.

I’ve ordered immediately new replacement blades set, plus few additional spare blades, plus protection cover so the next time I hit the wall I have at least some buffer. Again, one month later the spare parts arrived and I was ready for new round of testing. This time I was smarter and better prepared.

While I was waiting for spare parts to arrive, I was reading and watching YouTube videos on how to calibrate and fly the drone properly. After I replaced all the blades with new ones and fitted cover protection, X4 was ready for a new test flight. Before I moved furniture away, and placed the drone in the middle of an empty room. The second lift-off and test flight was much more successful.

Drone reacts very fast to the commands and is very agile. If you are flying indoor, the X4 will skid around the floor until it reaches a point above the turbulence created by its spinning propellers. You need to lift X4 at least one meter from the ground to get into a clean air. Of course I crashed the drone few more times, but thanks to the protection cover I didn’t break any more blades. The most important thing to bear in mind is that when X4 crashes you need to cut the throttle to zero immediately! This way you protect the blades and the motors. If the motors are unable to rotate during a crash, they will burn out quickly.

X4 comes with 3.7V 380mAh battery with declared flight time around 7 minutes and charging time 40 minutes. My experience confirmed this. However, if you are recording with a camera and doing a lot of manoeuvring (especially if you are flying indoor), the actual flight time is around 5 minutes. This is why you need to invest in some additional batteries. I have at the moment 3 batteries which provide around 15-20 minutes of flying.

Although X4 looks like a child’s toy, it is not. It should be treated with the respect of a full scale drone and it takes patience and lots of practice to be able to fly it properly. Some people are suggesting that you need to invest 10’s of hours into practicing before you can do anything spectacular like pre-programmed flips, or especially if your want to record a nice and stable video.

The Hubsan features 6-axis stabilization system, but it doesn’t have any autopilot mode, which means that it is unable to hover on its own. The X4 needs to be ‘flown’ all the time to maintain an even hover and stable flight. When flying the X4 drone, continual stick inputs are necessary. You must counter the directional movement with reverse stick movements e.g. moving the pitch stick forward will cause the X4 to fly forwards, and to return the X4 to steady hover, you will need to apply back stick momentarily to halt the forward motion.

Outdoor flying is much better experience and more enjoyable than indoor, mostly because you have more free and open space. The X4 is very fast and stable even in windy conditions. When landing you need to be careful not to hit the ground too hard because the plastic housing could break. Soft grass is the best for landing, but you still need to be careful. X4 features 4 little LED lights in two colours that help you better sighting and orienteering. But don’t fly X4 too far away initially, orientation may become a problem with the X4 easily lost against a backdrop of trees, bushes and ground cover. With all this in mind, and initial fear from flying and crashing, I didn’t test its range.

My original plan was to include videos in this review, but my flying skills are not yet that good to produce stable and watchable videos. I’ll post them as soon I’ll have some good and representable footage. In the meantime you can check videos by other Hubsan X4 pilots.

All in all, Hubsan X4 H107C is great little beast and very fun to fly. I would recommend it to anyone interested in RC and drones with limited budget. Just buy a lot of spare parts because you will need them, sooner or later.

» Earth - Global Wind Map

“earth”, a global wind map of the entire world, is a visualization of global weather conditions, based on weather forecast made by supercomputers of National Centers for Environmental Prediction, NOAA / National Weather Service. It is created by Cameron Beccario in a way that first the script downloads and process Global Forecast System weather data in GRIB2 format every three hours, converts the data to JSON and then push them to static hosting. JSON data are calculated and interpolated in user’s browsers and finally shown as a rendered animated 3D wind map.

Wind is represented with green to red to purple gradients, where purple represent greater wind velocity, and the flow of the lines indicates wind direction. You can pull and drag the earth around its axis with a mouse, while mouse click on any location will bring a clicked coordinates and wind speed at that location. You can customize displayed data; like heights for the wind velocity readings, change overlayed data and even change Earth projection!

earth

It is worth noting that the project “earth” was build using only JavaScript frameworks, namely: D3.js, when.js, backbone.js, node.js.