Amazon acquired a patent that could help drones break barrier of distance
In December 2016, Amazon Prime Air has completed the first legit drone delivery. It was a significant milestone for both the retail and the transportation industries. From the moment Jeff Bezos saw the potential in drones as a new method of goods delivery, the company invests a lot of time, effort and resources not to miss on that opportunity.
The idea of autonomous UAV delivery is certainly fascinating, but there are a few limitations to be pointed out. The most important one is a battery life, which allows for flights no longer than 15 miles. Combined with the fact that drones cannot fly above the cities, it makes the overall concept much less attractive.
But where there’s a will there’s a way… And Amazon found it. The company has filed a patent for airborne supply centres that will also act as motherships for drones. The vision sounds a bit futuristic but I so as computers in our pockets…
Airborne supply centres may be a perfect solution! They are cheap, easy to maintain and they are mobile which means they can be easily moved to other places if a situation requires so. The patent describes that airship will float at an altitude of 45,000 ft and it will be stocked with products based on customer needs. When a customer places an order, a drone will fly down and deliver the package. Furthermore, drones would be able to communicate with each other via a mesh network to give information regarding weather or route.
The best part is that drone won’t require much energy, because it will glide down, rather than taking off. It works like beehives with an army waiting for orders! We can also read that after delivery, UAVs will fly to specially designated shuttles (smaller airships). The reason behind it is reducing cost. It would require a lot of energy for Drones to return to mother base. Instead, they would fly to the shuttle that will take them to the top along with other supplies, packaged and fuel. Back there UAVs will recharge and wait for another request.
Amazon’s patent filing suggests that in some instances “airships could be moved close to sporting arenas or festival sites and used to sell merchandise”. It all sounds a bit futuristic, but it has so many benefits that it might be implemented.
Intermediate Python Programming with “ArcGIS Blueprints” – book review
“ArcGIS Blueprints” is a book for ArcGIS Desktop programmers who want to improve their Python programming skills and look beyond Python scripting. Whereas the author´s earlier book “Programming ArcGIS with Python Cookbook” focused on Python scripting, this book covers ArcGIS Desktop application development with Python. These applications come in the form of add-ins and Python toolboxes, two features introduced in ArcGIS 10.1. Both extend the current capabilities of the application and give you the opportunity to re-use and share these self-made tools with others. As such, they’re providing a great added value to current functionality and becoming more and more a prerequisite in the current job market. Application development is definitely a great skill to have and this book is a great way to learn this. The book is written for ArcGIS Desktop 10.3.
Python Toolboxes and Add-ins
The book is divided into ten chapters. An additional appendix gives an overview of the Python libraries for ArcGIS and should be read before starting with the first chapter. Each chapter is set up as a project where you’ll build several tools that can be used together, just like you would when you’d use multiple geoprocessing tools in a single workflow. Most of the time is spent on building Python toolboxes. These can combine multiple tools in one single script that make use of both Python scripting and programming techniques. This means that if you know how to write Python scripts, you’re already well underway. Python toolboxes are created and accessed through the ArcCatalog window and stored in a separate toolbox that can be recognized by having a .pyt extension.
Add-ins are another story: these are tools that also have a GUI (Graphical User Interface), such as a toolbar with a set of buttons. You need a special Python Add-In Wizard to create these toolbars and install them after writing the code for the tools inside the add-in. You might ask yourself when to use a Python Add-in instead of a Python toolbox: Python add-ins are used to create functionality that enables you to interact directly with the map window, while Python toolboxes are user-defined toolboxes that give you more control over multiple input and output parameters before running your own scripts that are also included in these toolboxes. The creation of these toolboxes and add-ins is one pillar of the book, the second one is the use of other Python libraries.
Open Source Python libraries
Apart from using the functionality provided by ArcPy, the author included a number of open source Python libraries for creating ArcGIS Desktop applications. This means that throughout the book you’re instructed to install various open source Python modules that are used to extend current functionality available through the default Python modules and ArcPy, such as requests, csv, plotpy, tweepy, simplekml and wxPython. The requests module is used to make pull requests from the ArcGIS REST API.
Each chapter starts with an introduction of the project, a list of bullet points of the covered topics and a diagram showing the structure for each project. Color screenshots of tool tabs, websites and map windows illustrate the main content of the book, which is the code for the add-ins and Python toolboxes you’ll be building. You’re supposed to type in this code into an IDE that is linked to ArcMap when you create a Python Toolbox or Add-in. (PyScripter is an excellent choice for an IDE, just make sure to set the syntax to “Python” when you open the Toolbox, as its format is not automatically recognized by PyScripter). Data entry of all the example code in a Python script is very time-consuming, but worth the investment as it enables you to learn from your mistakes.
Nearly all of the example code works great so you don’t have to worry about errata throughout the book. But there are some minor challenges that I´d like to point out. For example, when displaying map data in ArcMap, you’ll notice that using different maps in one map layer will cause projection errors, and this happens throughout the book whenever you use a world map as a background to display local data. The solution is to re-project all separate layers in one map projection, but his issue is only addressed once in the book – you’ll need to fix this problem yourself in other cases.
Another issue is the organization of the data that comes with the book. It is recommended to consult the README file before starting with the projects in the book and have a clear understanding of how all data is organized so you know where to store and find it. Finally, the layout of the code in the book is sometimes problematic but this goes for all books from this publishing company. The code files on disk solve this problem.
GIS Application development is a skill that is in high demand. This is the only book on ArcGIS application development and Python, so for that only you should consider buying it if you are interested in this topic. As to be expected from this author, he did a great job on creating an interesting and challenging book. The instructions are clear and the exercise data works great. A great plus are the open source Python modules you’ll learn to use along the way. They’re easy to install and free of use.
Beginning Python coders might not want to start with this book as it’s clearly written for intermediate-level ArcGIS Desktop programmers and features little to no explanation about the code in the instructions. This is a logical choice as the book is already quite long and information on Python toolboxes and add-ins is available in the ArcGIS Desktop Help files. Instead, the author chose to focus on the code itself and include as much projects as possible, resulting in a great source with interesting and varying projects that range from retail site selection to crime analysis.