I have a network of polylines and point data that I am trying to split out into individual line segments based on a given starting point of the network. I know that this can be done using the ArcGIS network analyst extension but I am trying to use open source software. I think this can be done using Shapely Linear Referencing methods but I'm unsure. Any help would be greatly appreciated! I've included a diagram below of what I'm talking about.
Related
I am trying to learn sfepy. To that effect I want to solve the differential equation
On a triangle domain (2D).
There';s 2 things I don't understand from reading the docs.
How do I specify a single triangle mesh? The code seems to assume you already have the mesh file but it does not provide a link to it so I don;t know hwo to cosntruct my data.
I am having a ahrd time learning how to map the equation onto sfepy's syntax. i.e. I don;t really know how to specify the problem using the library even after followignt he tutorial.
I have the solution to your problem 1.
The example script linear_elastic_interactive.py, does mention the path to the mesh used on line 35, like this mesh = Mesh.from_file(data_dir + '/meshes/2d/rectangle_tri.mesh') . And the tutorial also mentions that "This file should be run from the top-level SfePy source directory so it can find the mesh file correctly". So if you navigate the source code, you can find the mesh here: link
I am using win10, python and c#. I want to calculate circumference of human parts (belly, biceps etc) with using point cloud or 3d scans like .stl .obj .ply. Now I can get the point cloud of human body with kinect v2. I have point cloud of human body, scanned 3d human body in .stl .obj .ply formats.
I need some ideas and infos about it. I don't know how to analyse the things I have and how to calculate what I want.
Here I found an example of what I am trying to do but It doesn't need to be perfectly stable like that, Its for a school homework. Maybe you can give me some ideas about how to achieve my goal. Thank you for your help.
https://www.youtube.com/watch?time_continue=48&v=jOvaZGloNRo
I get 3d scanned object with kinect v2 and use PCL to convert it into point cloud.
I don't know about using PCL with Python or C#. In general you are looking at the following steps:
Filtering the points to the interested region
Segmenting the shape
Extracting the parameters
If you're interested in only Python, then OpenCV might be the best option. You can also develop the core logic in C++ and wrap it for Python or C#. C++ also has some nice UI libaries (Qt, nanogui), please see the following details for achieving the objective with PCL
Filtering
CropBox or PassThrough can be used for this. It'll result in similar results as shown in the image assuming that the frame has been chosen properly. If not, the points cloud can be easily transformed
Segmenting the shape
Assuming you want an average circumference, you might need to experiment with Circle 2D, Circle 3D and Cylinder models. More details regarding usage and API are here. The method chosen can be simple SAC (Sample Consensus) like RANSAC (Random SAC) or advanced method like LMEDS (Least Median of Squares) or MLESAC (Max Likelihood Estimation SAC)
Extracting the parameters
All models have a radius field which can be used to find the circumference using standard formula (2*pi*r)
Disclaimer: Please take note that the shape is circular, not ellipse and the cylinder are right angled cylinders. So if the object measured (arm, or bicep) is not circular, the computed value might not be close to ground truth in extreme cases
Turtlebot exploration using a pregenerated map
I am working on the exploration strategy of a turtlebot that is supposed to navigate a known environment (with the help of a pre-built map) and searches for an object (e.g. a red ball).
The map has been generated using gmapping and now I am trying to implement a strategy for exploring the known map. Although generating random points on the map and then performing a 360° scan at these points is an option, I am not too enthusiastic about this method, since it does not guarantee that the object will be located if it exists.
What I would like to have is a set of points, such that after visiting all these points and performing a 360° scan at each of those points, the entire accessible/visible area of the map is covered by the robot.
I felt that the art gallery algorithm (described here: http://cs.smith.edu/~orourke/books/ArtGalleryTheorems/Art_Gallery_Full_Book.pdf) also achieves something similar, and hence tried to implement it in my scenario.
The art gallery problem requires polygons and I am finding it quite difficult to generate polygons from maps generated by gmapping on the real robot (although for simpler maps it's possible).
I have tried using the triangle module in Python to create convex hulls of clusters of objects, but that is not too useful in noisy environment like the one linked below. (I converted the .pgm file into a .png by plotting only obstacle points)
obstacle points
Note: My turtlebot does not have a laser scanner. It just has a Asus Xtion Pro Live.
I would really appreciate some help regarding the following:
Is there an easier way of exploring a known map with a turtlebot
(preferably some package in ROS)?
If the art gallery algorithm is a viable option, then how should I obtain accurate polygons from the scan-points of the obstacles?
Thank you in advance.
I am working on a navigation system and want to visually check results of my calculations. (Dijkstra, A*, etc.)
What are my options without getting into Google Maps API, Javascript, etc.?
For the most part every query gives me a list of coordinates:
[[53.4704344, 9.9145282], [53.4704483, 9.9152652], [53.4704704, 9.9164389], [53.4704818, 9.9169074]]
Right now I build GeoJSON linestring I paste into GeoJSONLint.com which starts getting annoying.
Without knowing the requirements, two things that immediately come to mind are:
matplotlib maps: http://matplotlib.org/basemap/users/examples.html
GeoJSON on http://gist.github.com: https://github.com/blog/1576-gist-meets-geojson
I would probably use gist first, as it's all git-able, zoomable, shows streets, etc.
Which is better probably depends on your data (especially the spatial scale).
I want to make a 3d point cloud from 3d modeling file(dae, obj...) using python code.
like http://upload.wikimedia.org/wikipedia/commons/4/4c/Point_cloud_torus.gif
I have no idea where to begin. Do I need polygon or mesh data or something?
If there were any algorithm for this let me help.
I saw many questions about create mesh from point cloud but it`s very hard to find about this topic.
thanks.