[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qgis-developer
Subject:    [Qgis-developer] Fwd: Re: QGIS 3D processing
From:       Andreas Plesch <andreasplesch () gmail ! com>
Date:       2017-03-30 11:31:24
Message-ID: CAKdk67vyQjWDhP2C7pbTQS1Lo4k+-voDG2TVrqifRQX3JDvY-Q () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Let me share a side conversation here, with permission.


---------- Forwarded message ----------
From: "Andreas Plesch" <andreasplesch@gmail.com>
Date: Mar 29, 2017 2:40 PM
Subject: Re: QGIS 3D processing
To: "Hillers Heather" <Heather.Hillers@erftverband.de>

Hello Heather,

thank you for your interest and offer to participate in the development of
3d capabilities in QGis. You may have looked up my proof of concept github
project https://github.com/andreasplesch/QGIS-X3D-Processing which will
give you a good sense of where my interest is. Please feel free to submit
issues (or PRs!) there.

I encourage you to give the processing scripts and models a try, and then
perhaps fork the project and see if you can modify some of the python
scripts or just create a new processing model. For example it would be
straightforward to add automatic reprojection of the DEM to WGS84
geographic coordinates in a model. That could be good first mini-project.

I plan on slow, deliberate development emphasizing robustness and doing one
thing well before adding features. Any help is of course very welcome.
Would you be able to contribute under an open source license ?

The processing framework allows for very modular development which may be
helpful for adding or customizing functionality.

I took the liberty to extract your list of requirements here and offer some
responses:

1) Load 3d shapefiles  or database stored shapes (we use Oracle)  and DEMs
and have a very easy to use and navigate 3d viewer

Here the idea would be to use qgis as an abstraction layer and just use the
qgis vector and raster layer API. I did this for DEMs. How large in terms
of data size are the DEMs you need to view and navigate ? For large scenes
it will be necessary to use a LOD or tile based concept which is also
possible.
What kind of 3d vector data do you have ? The QGIS2Threejs plugin has some
good ideas for representing points and polylines. TINs have a direct
equivalent in X3D and would be also very doable.
Currently, the idea is to use a web browser as viewer and interface which
has a lot of advantages. With QT5 and Qgis3 it may be possible to couple a
html/js webkit viewer more tightly with Qgis3.

2) Get x, y, z from clicked points and nearest neighbor vertices to the
clicked points.

x3dom has built in picking. Nearest neighbor (snapping) should also be
possible but probably outside of QGis using js on the web client.

3) Allow editing of z coordinate of vertices in a 3d shapefile or other
vector

Editing is another category altogether which I am not targeting at this
point. The way I can see editing Z values is by using the 2d map Qgis
interface and attribute editing capabilities and have an automatically
updating 3d display of the adjustments. Editing directly in 3d will require
a lot more development. The GEarthview plugin allows for digitizing in
Google Earth.

4) Get 3d distance along a line or polygon boundary between 2 vertices.

Following and measuring a line in 3d should be pretty easy outside of the
3d display just as a regular plugin. There may well be existing
functionality.

5) Pin coordinates, feature ids, vertex ids of selected feature vertices in
order to query distances between them or for editing.

Not sure but does this collapse to labelling individual vertices so they
are easy to find/identify with other tools?

Hope this helps,

Andreas

On Wed, Mar 29, 2017 at 3:10 AM, Hillers Heather <
Heather.Hillers@erftverband.de> wrote:

>
>
>
>
> Hello,
>
>
>
> My users are increasingly interested in visualizing and querying 3D
> Shapefiles and DEMs in QGIS.  We want to apply this to groundwater
> modelling and monitoring as well as profiling river beds.  I would be
> interested in working on this project and I am certain I can get permission
> to allocate some of my work time to it.  At the moment I do a lot of pyqgis
> development.  I haven't done any QGIS C++ development, although I am
> familiar with the qgis source code and I have done C++ programming in the
> distant past.  I am working on a 3D sidecar plugin this week, so I've got
> the qgis 3d api stuck up my nose at the moment anyway.
>
>
>
> Grüße,
>
>
>
> Heather
>
>
>
> Heather Hillers
> Bereich: Personal und Verwaltung
> Abteilung: Informationstechnologie
> Erftverband, *Am Erftverband 6*, D 50126 Bergheim
> Fon: +49 2271 88 1548 <+49%202271%20881548> , Fax: +49 2271 88 1210
> <+49%202271%20881210>
>
> Für die Programmierung von Navigationsgeräten empfehlen wir noch für
> einige Zeit die Eingabe Paffendorfer Weg 42 zu verwenden.
>
> Erftverband: Wasserwirtschaft für unsere Region - mit zertifiziertem
> Qualitäts-, Umwelt- und technischem Sicherheitsmanagement.
>
>
> [image: http://intranet/disclaimer/disclaimer.jpg]
>



-- 
Andreas Plesch
39 Barbara Rd.
Waltham, MA 02453

[Attachment #5 (text/html)]

<div dir="auto"><div>Let me share a side conversation here, with \
permission.</div><div dir="auto"><br></div><div dir="auto"><br><div \
class="gmail_quote" dir="auto">---------- Forwarded message ----------<br>From: \
&quot;Andreas Plesch&quot; &lt;<a \
href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>&gt;<br>Date: Mar \
29, 2017 2:40 PM<br>Subject: Re: QGIS 3D processing<br>To: &quot;Hillers \
Heather&quot; &lt;<a \
href="mailto:Heather.Hillers@erftverband.de">Heather.Hillers@erftverband.de</a>&gt;<br><br \
type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex"><div dir="ltr"><div dir="auto"><div dir="ltr">Hello \
Heather,<div><br></div><div>thank you for your interest and offer to participate in \
the development of 3d capabilities in QGis. You may have looked up my proof of \
concept github project <a href="https://github.com/andreasplesch/QGIS-X3D-Processing" \
target="_blank">https://github.com/andreasples<wbr>ch/QGIS-X3D-Processing</a> which \
will give you a good sense of where my interest is. Please feel free to submit issues \
(or PRs!) there.</div><div><br></div><div>I encourage you to give the processing \
scripts and models a try, and then perhaps fork the project and see if you can modify \
some of the python scripts or just create a new processing model. For example it \
would be straightforward to add automatic reprojection of the DEM to WGS84 geographic \
coordinates in a model. That could be good first mini-project.<br></div><div \
dir="auto"><br></div><div dir="auto">I plan on slow, deliberate development \
emphasizing robustness and doing one thing well before adding features. Any help is \
of course very welcome. Would you be able to contribute under an open source license \
?<br></div><div dir="auto"><br></div><div dir="auto">The processing framework allows \
for very modular development which may be helpful for adding or customizing \
functionality.</div><div><br></div><div>I took the liberty to extract your list of \
requirements here and offer some responses:</div><br>1) Load 3d shapefiles   or \
database stored shapes (we use Oracle)   and DEMs and have a very easy to use and \
navigate 3d viewer<br><br>Here the idea would be to use qgis as an abstraction layer \
and just use the qgis vector and raster layer API. I did this for DEMs. How large in \
terms of data size are the DEMs you need to view and navigate ? For large scenes it \
will be necessary to use a LOD or tile based concept which is also possible.<div>What \
kind of 3d vector data do you have ? The QGIS2Threejs plugin has some good ideas for \
representing points and polylines. TINs have a direct equivalent in X3D and would be \
also very doable.</div><div>Currently, the idea is to use a web browser as viewer and \
interface which has a lot of advantages. With QT5 and Qgis3 it may be possible to \
couple a html/js webkit viewer more tightly with Qgis3.</div><div><br>2) Get x, y, z \
from clicked points and nearest neighbor vertices to the clicked points.<br><br>x3dom \
has built in picking. Nearest neighbor (snapping) should also be possible but \
probably outside of QGis using js on the web client.<br><br>3) Allow editing of z \
coordinate of vertices in a 3d shapefile or other vector<br><br>Editing is another \
category altogether which I am not targeting at this point. The way I can see editing \
Z values is by using the 2d map Qgis interface and attribute editing capabilities and \
have an automatically updating 3d display of the adjustments. Editing directly in 3d \
will require a lot more development. The GEarthview plugin allows for digitizing in \
Google Earth.</div><div dir="auto"><br>4) Get 3d distance along a line or polygon \
boundary between 2 vertices.<br><br>Following and measuring a line in 3d should be \
pretty easy outside of the 3d display just as a regular plugin. There may well be \
existing functionality.<br><br>5) Pin coordinates, feature ids, vertex ids of \
selected feature vertices in order to query distances between them or for \
editing.<div dir="auto"><br></div><div dir="auto">Not sure but does this collapse to \
labelling individual vertices so they are easy to find/identify with other \
tools?</div><div dir="auto"><br></div><div dir="auto">Hope this helps,</div><div \
dir="auto"><br></div><div dir="auto">Andreas</div></div></div></div><div \
class="gmail_extra"><div class="elided-text"><br><div class="gmail_quote">On Wed, Mar \
29, 2017 at 3:10 AM, Hillers Heather <span dir="ltr">&lt;<a \
href="mailto:Heather.Hillers@erftverband.de" \
target="_blank">Heather.Hillers@erftverband.d<wbr>e</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="DE">
<div class="m_8205238613255211540m_-477180905850301353m_1135981136708509112m_-1074565463070892821WordSection1">
 <p class="MsoNormal"><u></u>  <u></u></p>
<p class="MsoNormal"><u></u>  <u></u></p>
<p class="MsoNormal"><span lang="EN-US">Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u>  <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">My users are increasingly interested in \
visualizing and querying 3D Shapefiles and DEMs in QGIS.   We want to apply this to \
groundwater modelling and monitoring as well as profiling river beds.   I would be \
interested in  working on this project and I am certain I can get permission to \
allocate some of my work time to it.   At the moment I do a lot of pyqgis \
development.   I haven't done any QGIS C++ development, although I am familiar with \
the qgis source code and I have done  C++ programming in the distant past.   I am \
working on a 3D sidecar plugin this week, so I've got the qgis 3d api stuck up my \
nose at the moment anyway.     <u></u><u></u></span></p> <p class="MsoNormal"><span \
lang="EN-US"><u></u>  <u></u></span></p> <p class="MsoNormal"><span \
lang="EN-US">Grüße,<u></u><u></u></span></p> <p class="MsoNormal"><span \
lang="EN-US"><u></u>  <u></u></span></p> <p class="MsoNormal"><span \
lang="EN-US">Heather<u></u><u></u></span></p> <p class="MsoNormal"><span \
lang="EN-US"><u></u>  <u></u></span></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Heather \
                Hillers<br>
Bereich: Personal und Verwaltung<br>
Abteilung: Informationstechnologie<br>
Erftverband, <b>Am Erftverband 6</b>, D 50126 Bergheim<br>
Fon: <a href="tel:+49%202271%20881548" value="+492271881548" target="_blank">+49 2271 \
88 1548</a> , Fax: <a href="tel:+49%202271%20881210" value="+492271881210" \
target="_blank">+49 2271 88 1210</a><br> <br>
Für die Programmierung von Navigationsgeräten empfehlen wir noch für einige Zeit \
die Eingabe Paffendorfer Weg 42 zu verwenden.<br> <br>
Erftverband: Wasserwirtschaft für unsere Region - mit zertifiziertem Qualitäts-, \
Umwelt- und technischem Sicherheitsmanagement.<br> </span><span \
style="font-size:12.0pt;font-family:&quot;Times New \
Roman&quot;,&quot;serif&quot;"><br> <br>
</span><span style="font-size:12.0pt;font-family:&quot;Times New \
Roman&quot;,&quot;serif&quot;"><img \
id="m_8205238613255211540m_-477180905850301353m_1135981136708509112m_-1074565463070892821_x0000_i1025" \
src="https://mail.google.com/mail/u/1/?view=att&amp;th=15b1a3fff1dbc6b5&amp;attid=0.1&amp;disp=emb&amp;realattid=79884be6990fd20e_0.1&amp;zw&amp;atsh=1" \
alt="http://intranet/disclaimer/disclaimer.jpg" width="180" \
height="40"></span><u></u><u></u></p> </div>
</div>

</blockquote></div><br><br clear="all"><div><br></div></div><font color="#888888">-- \
<br><div class="m_8205238613255211540m_-477180905850301353m_1135981136708509112gmail_signature" \
data-smartmail="gmail_signature">Andreas Plesch<br>39 Barbara Rd.<br>Waltham, MA \
02453</div> </font></div>
</div>
</blockquote></div><br></div></div>


[Attachment #6 (text/plain)]

_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic