Creates 3D geometries from 2D vector graphics, for use in geodynamic models

Related tags

GeolocationgeomIO
Overview

geomIO - creating 3D geometries from 2D input

This is the Julia and Python version of geomIO, a free open source software to generate 3D volumes and surfaces from multiple 2D cross sections. These are provided as .stl files which can be used e.g. in a 3D printer, or as input to geodynamic codes.

This is currently work-in-progress and not intended to be used yet. The python version is more mature and run.py in the /src directory can run and explain the code.

Input

Input is an .svg file generated with Inkscape. Currently only one structure can be handled per file. To generate a valid input file follow the following steps:

  • Add a layer and rename it to a numerical value (representing the 3rd dimension coordinates)
  • Draw your structure with the Beziertool (Shift + F6)
  • Press F2 and select all nodes (ctrl +A), then press "Make selected nodes smooth" (top bar)
  • Go back to the layer menu (shift + ctrl + L) and duplicate your layer via rightclick
  • Rename the duplicated layer to another numerical value
  • Use F2 to shift the control points according to your idea
  • IMPORTANT: every layer must contain the same number of control points
  • If you use a stencil layer you can begin its name with "$" which makes geomIO ignore the layer (this can lead to problems though, WIP)

Getting started

To get started open the run.py file and edit it according to your needs. The following paramters can be set:

  • inFile: input .svg file
  • name: name of the output file(must end with .stl)
  • Volume : bool, wether your structure is a closed volume or an open surface
  • numInterLayers: number of layers to interpolate between your given inkscape layers (larger number = finer mesh)
  • nPrec = number of points that are computet per Bezier segment (larger number = finer mesh)

After setting your paramters you can call the geomioFront function, which does the rest for you and saves the output file. If you have Open3D installed you can visualize your pointcloud directly in Python with plotCloud3D. Since there is no scaling tool implemented yet you can get your structer boundary coordinates with getBounds. For a test workflow you can use one of the .svg files from the input directory and test geomio4py with them. Please note that geomio4py is still under development and various issues may occur.

Owner
Tools for the next generation computational geodynamics codes
pure-Python (Numpy optional) 3D coordinate conversions for geospace ecef enu eci

Python 3-D coordinate conversions Pure Python (no prerequistes beyond Python itself) 3-D geographic coordinate conversions and geodesy. API similar to

Geospace code 292 Dec 29, 2022
Geospatial Image Processing for Python

GIPPY Gippy is a Python library for image processing of geospatial raster data. The core of the library is implemented as a C++ library, libgip, with

GIPIT 83 Aug 19, 2022
A service to auto provision devices in Aruba Central based on the Geo-IP location

Location Based Provisioning Service for Aruba Central A service to auto provision devices in Aruba Central based on the Geo-IP location Geo-IP auto pr

Will Smith 3 Mar 22, 2022
Get-countries-info - A python code that fetches data of any country

Country-info A python code getting countries information including country's map

CODE 2 Feb 21, 2022
Read images to numpy arrays

mahotas-imread: Read Image Files IO with images and numpy arrays. Mahotas-imread is a simple module with a small number of functions: imread Reads an

Luis Pedro Coelho 67 Jan 07, 2023
Replace MSFS2020's bing map to google map

English verison here 中文 免责声明 本教程提到的方法仅用于研究和学习用途。我不对使用、拓展该教程及方法所造成的任何法律责任和损失负责。 背景 微软模拟飞行2020的地景使用了Bing的卫星地图,然而卫星地图比较老旧,很多地区都是几年前的图设置直接是没有的。这种现象在全球不同地区

hesicong 272 Dec 24, 2022
Obtain a GNSS position fix from an 11-millisecond raw GNSS signal snapshot

Obtain a GNSS position fix from an 11-millisecond raw GNSS signal snapshot without any prior knowledge about the position of the receiver and only coarse knowledge about the time.

Jonas Beuchert 2 Nov 17, 2022
Python tools for geographic data

GeoPandas Python tools for geographic data Introduction GeoPandas is a project to add support for geographic data to pandas objects. It currently impl

GeoPandas 3.5k Jan 03, 2023
Advanced raster and geometry manipulations

buzzard In a nutshell, the buzzard library provides powerful abstractions to manipulate together images and geometries that come from different kind o

Earthcube Lab 30 Jun 20, 2022
A Python framework for building geospatial web-applications

Hey there, this is Greppo... A Python framework for building geospatial web-applications. Greppo is an open-source Python framework that makes it easy

Greppo 304 Dec 27, 2022
Streamlit Component for rendering Folium maps

streamlit-folium This Streamlit Component is a work-in-progress to determine what functionality is desirable for a Folium and Streamlit integration. C

Randy Zwitch 224 Dec 30, 2022
Geodata extensions for Django REST Framework

Django-Spillway Django and Django REST Framework integration of raster and feature based geodata. Spillway builds on the immensely marvelous Django RE

Brian Galey 62 Jan 04, 2023
A ninja python package that unifies the Google Earth Engine ecosystem.

A Python package that unifies the Google Earth Engine ecosystem. EarthEngine.jl | rgee | rgee+ | eemont GitHub: https://github.com/r-earthengine/ee_ex

47 Dec 27, 2022
Logging the position of the car on an sdcard

audi-mmi-3g-gps-logging Logging the position of the car on an sdcard, startup script origin not clear to me, logging setup and time change is what I d

2 May 31, 2022
A bot that tweets info and location map for new bicycle parking added to OpenStreetMap within a GeoJSON boundary.

Bike parking tweepy bot app A twitter bot app that searches for bicycle parking added to OpenStreetMap. Relies on AWS Lambda/S3, Python3, Tweepy, Flas

Angelo Trivisonno 1 Dec 19, 2021
r.cfdtools 7 Dec 28, 2022
Geospatial web application developed uisng earthengine, geemap, and streamlit.

geospatial-streamlit Geospatial web applications developed uisng earthengine, geemap, and streamlit. App 1 - Land Surface Temperature A simple, code-f

13 Nov 27, 2022
Earthengine-py-notebooks - A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping

earthengine-py-notebooks A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping Contact: Qiushen

Qiusheng Wu 1.1k Dec 29, 2022
List of Land Cover datasets in the GEE Catalog

List of Land Cover datasets in the GEE Catalog A list of all the Land Cover (or discrete) datasets in Google Earth Engine. Values, Colors and Descript

David Montero Loaiza 5 Aug 24, 2022
Python package for earth-observing satellite data processing

Satpy The Satpy package is a python library for reading and manipulating meteorological remote sensing data and writing it to various image and data f

PyTroll 882 Dec 27, 2022