Hot answers tagged

21

I'm a little late to the party but here is another suggestion: http://potree.org/ It's an open souce, WebGL based point cloud viewer I've been working on for quite a while. == UPDATE == It can render large amounts of colored point clouds. LIDAR data without colors will be supported soon. Showcase: http://potree.org/wp/demo/ Source code: https://github....


16

1) For a full 3D GIS, the better is GRASS GIS, look at Screenshots of 3D data management or From drone-aerial pictures to DEM and ORTHOPHOTO: the case of Caldonazzo's castle, from example. Some examples (interactive: you can scale, rotate the representation and many other things) : DEM with 3D points: Draped raster on the DEM Draped geological map with ...


16

When there is no implicit cast between two datatypes you need to state it explicitly. In your case ST_Force3D (or ST_Force_3D for PostGIS versions earlier than 2.1) should do the trick: ALTER TABLE cl ALTER COLUMN geom TYPE geometry(MultiLineStringZ) USING ST_Force_3D(geom);


11

Yes, it is possible but using a Python script in the console see For geologists: 3D geological boreholes I presented the scripts in visualizing 3D data (Z values) or data with z attribute: a solution or QGIS, représentation 3D des couches vectorielles (shapefiles dits 3D ou shapefiles avec attributs z) avec les modules Python Matplotlib ou Visvis à ...


11

This is not the first time I encounter such question and generally it is asked by people outside of geospatial industry that are not familiar with cartographic theory or with practice needs (this is just my observation). As to the question: A "3d Globe" that you see on the screen is nothing less than just an Azimutal projection... And there is no such ...


11

3D globes and the like are very useful for quick visualization purposes. You can instantly see Global Level and Continental Level data, and spatial relationships and distances are easily understood. However if you think about it, you don't really need a Globe foe every such case. As SS_Rebelious has mentioned, a Globe on a Flat Screen, is basically an ...


11

Thank you for clarifying your question as it was previously quite unclear. You can read a multiband raster using the stack or brick function in the raster package and assign the associated RGB values to an sp SpatialPointsDataFrame object using extract, also from raster. Coercion of the data.frame object (which results from read.csv) to an sp point object,...


11

It's super-easy in QGIS 3.0: Run the "Set Z Value" Processing algorithm Click the button on the right of "Z Value", and select Field -> "DYBDE". Run the algorithm. The z values for the geometry's vertices will be set to the value from the DYBDE field. In case you have the values of depths and you want to get elevation values with negative number for ...


11

You don't need any plugin to see PolygonZ shapefile in 3D. Built-in 3D Map Viewer ("View > New 3D Map View") shows polygons in 3D based on Z values of its vertices. Note that 3D view currently doesn't support unprojected (geographic) coordinate systems (I've just learned that), so you need to convert shapefile unprojected CRS to projected one or change CRS ...


10

The Describe object also has the hasM and hasZ properties which: Indicates if the geometry is m-value enabled and Indicates if the geometry is z-value enabled respectively.


10

Write your data into a new shapefile with ogr2ogr and force geometry type into 2D with the -dim switch. ogr2ogr -f "ESRI Shapefile" output_2d.shp input_zm.shp -dim 2 The -dim setting is not limited to shapefiles but works in the same way for most vector formats. One exception I know is Oracle Spatial that does not honour the ogr2ogr switch but you must ...


9

I just implemented this myself and posted my answer over on StackOverflow, but I figured I'd drop my version here for others to view: import numpy as np from scipy.spatial import ConvexHull def minimum_bounding_rectangle(points): """ Find the smallest bounding rectangle for a set of points. Returns a set of points representing the corners of ...


9

I know QGIS has a plugin that export DEM to STL using DEMto3D, and I tested on a DEM and it worked. The description of the plugin mentioned that clearly: DEMto3D is the first tool that links GIS (Geographic Information System) and 3D printing. DEMto3D allows export DEM to STL format ready to 3D printing. Here is the homepage of the demto3d, and there ...


8

If you want to get a 3D DXF from a SHP (SHPfile generated from DTM with Qgis-Processing-Tools-GDAL/OGR Extraction-Contour), you must: 1) have column with Z values into Table attributes of SHP. 2) open "OSGeo4W Shell Commands" if you have Windows OS. 3) write into shell for example: ogr2ogr -f "dxf" d:\Temp\3Doutput.dxf d:\Temp\contour.shp -zfield ELEV ...


8

Maybe you could use Osmbuildings. Its a JavaScript library for visualizing OpenStreetMaps (or custom GeoJSON) building geometry into a 3D perspective. It use OpenStreetMaps data directly. Just add the loadData() method: var map = new L.Map('map').setView([52.50440, 13.33522], 17); var osmb = new OSMBuildings(map).loadData(); L.control.layers({}, { ...


8

In QGIS v3.0 you can use directly QgsPoint: zPoint = QgsPoint(-74, 4, 2600) # x, y, z zPoint.z() # Prints 2600.0 Whereas in QGIS >= 2.10 you need to use QgsPointV2: zPoint = QgsPointV2( QgsWKBTypes.PointZ, -74, 4, 2600 ) # type, x, y, z zPoint.z() # Prints 2600.0 This is an example with a memory layer using QGIS 2.14 (based on the PyQGIS Cookbook): ...


7

I don't think there is any way to georeference a ski resort map - which are often hand-drawn - in a meaningful way. It's an artistic interpretation of the landscape with high degrees of freedom and a focus on being easy to read. Maybe if you describe your final goal - e.g. what do you want to do with the georeferenced image? - we can propose a different ...


7

When talking about having only contours in 3D dxf, the proper way is definitely NOT extracting the vertices as XYZ and interpolating the surface from points. That way you lose the information about how are the points connected which at least leads to losing some detail or it can be even worse. If you use Dxf2xyz and you don't want to lose information I ...


7

Miro's answer will work fine, but if you just want to add a Z value to your attributes table (perhaps for labeling in a map or some other reason), I would start as he suggests: v.in.dxf - to import contours including z dimension (SQLite works well as an output format) Now instead of rasterizing, use the field calculator to pull the Z value from the 3D ...


7

There is a paper called "Curved Reconstruction from Unorganized Points" by In-Kwon Lee which looks into constructing lines/curves from a set of points without any ordering by exploiting the moving least-squares method. Although it focues on 2D applications, it mentions the possibility of extending this to higher dimensions. The following image is taken from ...


7

You could use Cesium.EllipsoidGeodesic#surfaceDistance to calculate the distance in meters, and then convert to kilometers. var startCartesian3Point = Cesium.Cartesian3.fromDegrees(48.862165, 2.305189); var endCartesian3Point = Cesium.Cartesian3.fromDegrees(45.755675, 4.822185); var startCartographicPoint = Cesium.Cartographic.fromCartesian(...


7

what you're talking about is an anaglyph map. it's possible using standard QGIS symbology here's an example I did a while back. The buildings were given a size attribute (probably using $area) The idea is for big buildings (by area) appear closer to the viewer, and smaller ones further away. These polygons were given a rank (0=largest set, 1= next ...


7

You should use setRenderer3D method of QgsMapLayer. layer.setRenderer3D(renderer) QgsVectorLayer inherits that method from QgsMapLayer.


6

I have made ​​the experience that the problem can not always be solved completely. But if you use layer's drawing priority, it gets better. Please try to use the layer's drawing priority: In ArcScene you can change the drawing priority of each of the layers being displayed, so the more important layers will render on top of the less important layers. ...


6

QGIS 3.0 will support rendering of 3D models out of the box. Install the latest nightly build of QGIS using OSGEO4W or another installer for your platform. Add 3D Canvas from main menu View > New 3D Map View Add your 3D model as new layer In style panel, enable 3D renderer.


6

Have you looked at OpenWebGlobe (which uses WebGL in background) Here is the demo with some buildings loaded: http://swiss3d.openwebglobe.org/ And accoring to forums you can convert Collada/KMZ models to be loaded into this: http://forums.openwebglobe.org/viewtopic.php?f=5&t=247


6

You don't need to convert your layer in 3D layer to make interpolations, you only need the z attribute. You can choose between working with the contour lines or with points: 1) with the contour lines: you can use the QGIS interpolation plugin to generate a TIN or IDW, but it's better with points you can use GRASS GIS r.surf.contour in the processing ...


6

EDIT: I've updated this to do an actual surface. It's interactive with rgl, and you can zoom in to see the closed surface but you'll need more work to respect the actual WGS84 datum and get your vertical exaggeration just right. Download the files with R: baseurl <- "http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/GIS/world_geoid" fs <-...


6

ArcScene is the ESRI approach to doing this. It is likely installed with ArcGIS so you should find it in the start menu. This is a typical ArcScene map. Basically your attribute value can become the extrusion, you often need to normalize data.


Only top voted, non community-wiki answers of a minimum length are eligible