Coder Social home page Coder Social logo

Comments (7)

AlexanderPoone avatar AlexanderPoone commented on June 1, 2024

In case of a equirectangular panorama:
Indeed, this.measurementInfo.points[0] is the lower point of the measurement while this.measurementInfo.points[1] is the upper point. this.measurementInfo.points[*][0] is the y-offset from the centre of the image, ranges from (-90, 90); while this.measurementInfo.points[*][1] is the x-offset from the centre of the image, ranges from (-180, 180). this.measurementInfo is always 90deg expressed in radians.
Get the tilt and heading from this.selectedFeatureAttributes.camheading, this.selectedFeatureAttributes.campitch, this.selectedFeatureAttributes.camroll.

this.selectedFeatureAttributes.point_z is not needed. If planar is acceptable (i.e. not geodesic), only Math.sqrt(this.measurementInfo.groundPoint[0] - this.selectedFeatureAttributes.point_x) ** 2 + (this.measurementInfo.groundPoint[1] - this.selectedFeatureAttributes.point_y) ** 2) is needed(?)

from oriented-imagery.

AlexanderPoone avatar AlexanderPoone commented on June 1, 2024

Obviously, this.imageToGroundPanorama should only apply to the first point (the measuring base), not the second point. The second point has nothing to do with the depth map, as it is floating in the air! I don't understand why you call this.imageToGround(this.panoramaViewer ? [t.points[1]] : [i]).

from oriented-imagery.

kushu493 avatar kushu493 commented on June 1, 2024

Hi Alex,

We are working on it. Can you please share some sample data so that we can reproduce the issue that you are facing.

Thank You.

from oriented-imagery.

AlexanderPoone avatar AlexanderPoone commented on June 1, 2024

Kushagra,
Thanks for the reply. Unfortunately my only available test data was copyrighted by the client. I cannot share the whole site but some screenshots.

To clarify, the issues are:

  • Location does not display z-values whether a depth map is present or not.
  • Height above ground is always NaN if a depth map is present.

But I think it is more than these. I cannot understand the logic behind the code.

For example, we want to measure the height of some thin objects like a lamppost. I don't think we need to put the second point precisely on the lamppost (point B), which is pretty hard. Instead, we should be able to measure the distance by placing the second point on A, which suspends mid-air. Yet, the datum at point A is nil, therefore the result of this.imageToGroundPanorama is erroneous. The feature's name is Height Above Ground after all.


We want to measure the automobile. But since the road and the automobile overlap in the photo's perspective, we can't even place the second point slightly above the car (point B), as it will mark the road instead.


Besides, we cannot measure anything non-existent, like planned development like future buildings, barriers and sculptures.

The below line in viewer.js, a is hard-coded to be a 2-element array:

v < 0 && (v += 360), v > 360 && (v -= 360), a = [this.selectedFeatureGeometry.x + h * Math.sin(v * Math.PI / 180), this.selectedFeatureGeometry.y + h * Math.cos(v * Math.PI / 180)]

That means no z-values are present. Thus, the Location measurement is missing the Z coordinate.


Could you be developer-friendly by:

  • Replying to and categorising issues
  • Releasing everything simultaneously, not little by little
  • Not releasing things that are not ready
  • Making detailed documentation

from oriented-imagery.

AlexanderPoone avatar AlexanderPoone commented on June 1, 2024

By the way,

(cf. #15) you can snap the green diamond indicator to the buildings with the new z value

from oriented-imagery.

priya4991 avatar priya4991 commented on June 1, 2024

@SoftFeta please update the widget with the new version and let us know if you face any issues.
Thanks!

from oriented-imagery.

AlexanderPoone avatar AlexanderPoone commented on June 1, 2024

Discussion in #24 .

from oriented-imagery.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.