Author: Sean Gillies Version: 1.0
This document describes a GeoJSON-like protocol for geo-spatial (GIS) vector data.
| { | |
| "metadata": { | |
| "name": "", | |
| "signature": "sha256:682c5519bdf342660804b052a5fae80460925acb64a8eed37c1e2caf8ac791c1" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ |
| I return to this issue because it is very similar to How do I find vector line bearing in QGIS or GRASS? and it can be solved with Python in the same way: | |
| 1) Haversine distance | |
| One can find lots of scripts by searching Haversine distance with Python on the Internet and I choose one of them in Haversine Formula in Python (Bearing and Distance between two GPS points) | |
| def haversine(lon1, lat1, lon2, lat2): | |
| """ | |
| Calculate the great circle distance between two points |
| If you want to use Python, you don't need QGIS, except if you want to create a plugin. In this case, you should consider PyQGIS with the reference given by Curlew | |
| But you can also use Python modules like pyshp, osgeo (gdal and ogr) or Fiona and Shapely without QGIS | |
| In both cases, you need a join field that will link the polygon shapefile to the point shapefile. | |
| Example with Fiona and Shapely (all the elements of a shapefile (schema,geometry, records) are processed using Python dictionaries). | |
| With ogr and Fiona it is easier to create a new shapefile, copying the original shapefile (geometry and attributes), and adding new fields with the desired values than modify the original shapefile. |