Topic: Projected coordinate system

Hi,

Bought your component a couple of days ago, amazing product, very nicely done.

The only pet peeve i have is that this seems to use only geographic coordinates (degrees). Would it be possible to be able to alternatively use a projected coordinate system (in meters)? I can probably hack away through the code to hunt down all the checks and transformations you guys do but that would make it very hard to update if you launch a new version, and it would also probably not work for degrees anymore.

It might be too hard of a task, as I look through the code I realize it's no small feat. Just let me know if it's in your plans or not.

Also as a quick question. If I use the fly example and add the building extension the buildings wobble. Any ideas on how to fix that? The markers work just fine.

Thank you.

Re: Projected coordinate system

Hello.

In general, we are not planning to add other coordinate systems, but recently a lot of people are asking about it.
Please specify the exact name of the coordinate system (and a link to the specification). We will try to add it.

The problem with the buildings wobble fixed.
Please update Online Maps through the built-in update (Component / Infinity Code / Online Maps / Check Updates) to the latest beta version.

Kind Regards,
Infinity Code Team.

Boost your productivity a lot and immediately using Ultimate Editor Enhancer. Trial and non-commerce versions available.

Re: Projected coordinate system

I plan to use 3844 http://spatialreference.org/ref/epsg/3844/

But any implementation in meters will do, I can go from there. It really doesn't matter to me which one you implement, i'm very aware that none of the current tile sources will work anymore and i would have to make my own. AS long as everything I put in the map has the same projection, it doesn't really matter. And for any switches between projections proj4net compiles on unity no problem.

Re: Projected coordinate system

I updated to 2.4.0.7, still the same effect
http://i.imgur.com/DvzwyjU.gifv
Sorry for the size, 4k monitor.

Re: Projected coordinate system

Bug was showed when «Use Elevation - OFF».
Now it is fixed. Please update Online Maps again.

We found «The World Coordinate Converter».
We'll try to take the formula for the conversion of 3844.

Kind Regards,
Infinity Code Team.

Boost your productivity a lot and immediately using Ultimate Editor Enhancer. Trial and non-commerce versions available.

6 (edited by sf.petru 2016-01-19 13:06:26)

Re: Projected coordinate system

Thank you, you are awesome with these fixes.

-----

I'm not sure what you mean tho with with «The World Coordinate Converter». For most people who work with projected data it is no problem to change their data to have it in geographical coordinates. I already did it with my data so i can play. I'm more interested to how it looks projected (because a projected something looks different than in geographical)

http://www.colorado.edu/geography/gcraf … reepro.gif

The issue is that everything is thought in the application to work with degrees. Markers must have lat, lon like 24.34, 44.23. You assume that if something is on the left side and it shouldn't be, you can add 360 and make it ok if (brx < tlx) brx += 360; (which in geographical coordinates is true, but in projected coordinates not).

The point of a projected coordinate system is that you don't think about being on the globe any more. You are on a plane and when you reach the end... you stop. In the case of 3844 with limits 117436.2591, 246700.1411, 1024483.3711, 771305.0242 ... when you reach 771305 you don't go to 117436. That's the edge of the map. There be dragons.

If you ever go to do it, check out openlayers (version 2) to see how little you have to care about projections. Don't care more. If somebody wants you to reproject, integrate proj4net and let them be.

It's not all bad, some calculations become way easier in projected coordinates.
i.e.: the DistanceBetweenPoints function in OnlineMapsUtils wouldn't need the circumference of the earth at all to do that calculation. It would be a simple Math.Sqrt(Math.Pow(x1-x2,2)+Math.Pow(y1-y2,2)). because everything is in meters.

If somebody asks you to project their data to sperical mercator don't, because it won't do them any good. They can just reproject that data. they can use QGis or whatever. I think they want to see in that projection, which would be the more useful feature.

The point about projections is that they offer greater precision. Because they almost all in meters, there's no need for fancy math. Just scale the coordinates of the markers/buildings according to zoom level.

-----

If you should implement something as a first phase is
- a projectionType - enum property for the OnlineMaps object by default to Geographical, but with possible value Projected. But what would need to happen then is that all the checks you do for a globe, would go away.
- a bounds property - the edges of the map - and the map should stop at those coordinates and not allow moving forward
- a wraparound property - if it's true then you can go around the world just fine, if not, you stop at the edge of the map
- a projectionName property - just because there should be one.

if i were to do it i would do it in this order
1. the bounds and wraparound would be useful even with geographical (if someone wants to limit how far the map can go)
2. projectionType - this is the actual hard one, finding all the tiny bits and checking if this is set to something else
3. projectionName - because that's when this would actually become useful.
------

Anyway, so far for me it's not urgent to get to that, I'm still working to perfect the features i want to implement. Projections can wait for me, and I have no expectation of you to do that. Your product is wonderful as is. If you ever start doing them please post something on the forum. I'll do the same if I start before that.

Re: Projected coordinate system

Thanks for the detailed description.

I just looked at a lot of sites about different coordinate systems, and I have no idea how to implement it in a single engine.
Online Maps completely works on WGS84. It's core.
To implement other projections need to completely rewrite almost every method.
Maybe someday we'll do it, but it will be a completely different project.
Unfortunately in Online Maps, we can not add other projections.

Kind Regards,
Infinity Code Team.

Boost your productivity a lot and immediately using Ultimate Editor Enhancer. Trial and non-commerce versions available.