This looks like a great project! Here's two ideas for how to visualize the fur trapper's paths:
Straight lines. You can use the Join by lines (hub lines) in QGIS to connect origins/destinations. You'll need a "Hub" layer and a "Spoke" layer, with connecting points labeled by ID. If you know quantities (number of trips, volume of fur etc.)...
The scale parameter are the parts per millon, difference from 1.
Other parameters are ok (meters and arc seconds).
The 3D rotation matrix assumes that angles are really small (it is the case in datum transformations, but can´t be used in other transformations as an angle). The assumption is that the cosine of a small angle is 1 and its sine is the angle ...
Your proj string should be "+proj=utm +zone=38 +south +datum=WGS84 +units=m +no_defs" i.e no comma before +south. You can also use the EPSG code
myProj = Proj('+proj=utm +zone=38 +south +datum=WGS84 +units=m +no_defs')
Xutm, Yutm = myProj(X,Y)
myProj = Proj(32738)
Xutm, Yutm = myProj(X, Y)
# 323263.484317678 ...
In QGIS 3.x you can make use of side effects to extract edge points from polygons, when you copy&paste features from your polygon layer to a memory point layer:
layer = QgsVectorLayer("Point?crs=epsg:4326&field=name:string(255)", "nodes", "memory")
layer.addExpressionField( '$x', QgsField( 'x', QVariant.Double) )
You can use "Label Feature" as a trigger. So use this Python label expression:
SR = arcpy.SpatialReference(4326)
lyr = "points"
with arcpy.da.UpdateCursor(lyr,("Shape@","WGSX","WGSy")) as cursor:
for shp,fx,fy in cursor:
newP = shp.projectAs (SR).firstPoint
Here's a partial solution, and I think there might be a bug, but here goes.
Given a CSV that looks like this:
You can load the CSV into QGIS and use the DB Manager Query window to perform SQLite / sql spatial functions on your data.
, make_point(c.x, c.y) as geom
from libraries_denver_csv as c
This basically turns the two coordinate values ...
This has taken quite some time to investigate but I think I have a working hypothesis that explains the strange circles. I found data for another city that uses different hardware and the circles are not seen in those. So it is a software problem.
As mentioned before a geofence is used to decide if a bus has been at a bus stop or not. So what I think is ...
@AndreJ's answer is right. I just add the reason for this "strange" number :
it seems Garmin stores its angular coordinates using a 32-bit integer, so that gives 2^32 possible values.
We want to be able to represent values up to 360° (or -180 to 180), so each degree represents 2^32 / 360 = 11930465.
So dividing your coordinate by 11930465 will give ...
There is a setting to choose in witch units the coordinate are displayed.
Go to Project>Properties... then go to the "general" tab, here the "Coordinate and Bearing display" section lets you choose between map unit and degrees (decimal, DM or DMS)
That being said if your shapefile is indeed in EPSG:4326 the map unit should be degree ...
I just had this problem too so I figured I'd share my solution for future reference.
Turns out that these coordinates are a local projection coordinate system, and is used instead of latitude/longitude because it avoids distortion. Read this article for a better explanation of the differences.
First, you can extract the info for which EPSG zone you are in, ...
With two-point you can only move, scale and rotate. When you have to skew or to do more complex distortions, you'll have to have more points. These tasks are called Georeferencing.
In QGIS you have multiple strategies for it. You'll have to install the complements for that.
GDAL Georeferencer plugin: With this plugin you can use multiple points. Is is more ...
Actually, the latitudes and longitudes that we commonly use are geodetic, not geocentric.
Unless specified that your latitudes are geocentric, they will most certainly be geodetic already.
A geodetic latitude can also be called a geographic latitude, and it is the default type of latitude used with Earth ellipsoids. Google uses the WGS84 ellipsoid with ...
It is not a web-service or an API, however, it can be used to solve the issue.
For solving this task, shapefiles were downloaded from EfrainMaps. (It can be any other website that includes shapefiles covering the whole world, e.g. Thematic Mapping API or Natural Earth | Admin 0 – Countries).
Using the following Python code it is possible to take a country ...
Possible solution by means of PyQGIS. An Extension to the answer provided in this thread Adding coordinates to attribute table.
Use the following script instead
from PyQt5.QtCore import QVariant
# accessing point layer by name
layer = QgsProject.instance().mapLayersByName('test')
if not layer.isValid():
print("Layer failed to load!&...
You can find min/max coordinates easily with server-side Earth Engine. Call .bounds() on the geometry or feature, get the .coordinates(), then reduce the lats and lons by min and max.
geometry = ee.Geometry.Polygon(
Inserting new fields with the field calculator and the expression $x and $y on the layer with your centroids should do the job. If you use the polygon layer of your lakes, you might include there lat/lon in the attribute table directly with x(centroid($geometry)) resp. y(centroid($geometry)).
If your layer is not in EPSG 4326, you can use this expression to ...