航海/海洋测绘源代码... [英] Nautical/Marine Mapping source code...

查看:94
本文介绍了航海/海洋测绘源代码...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI,

我正在为船夫构建一个软件包,现在我需要包括地图(航海图)并能够将光标放置在GPS当前报告位置的位置上并包括在内. ..路由,WayPoint等.我编写了一些代码片段来处理某些计算,但是映射(图表)"部分仍然使我难以理解.我正在从GPS读取NMEA信息并进行解释.但是现在我想在船上放置适当的地图(图表)并在船上放置一个图标?

我阅读了使用MapWinGIS构建自己的GIS应用程序" 上的文章,但这是针对另一种非常不同类型的图表和地图的.我还阅读了编写自己的GPS应用程序" ,我已经使用/修改了很多代码.这两篇文章都很出色,但是没有像在划船(航海)世界中那样使用详细的地图(图表).

还是我想念东西?

如果有人知道有什么可以帮助我朝那个方向发展的,我将非常感激.

预先感谢.



I am building a software package for the boater and I have got to the point where I need to include maps (charts in nautical terms) and to be able to place a cursor where a GPS currently reports the position... and to include... Routing, WayPoints, etc. I have snippets of code written to deal with some of the calculations but the Mapping (Charting) portion still illudes me. I am reading the NMEA sentances from the GPS and interpriting them. BUT now I would like to place the appropriate map (chart) on a frame and place an icon wher the boat is?

I read the article on "Build your own GIS Application using MapWinGIS" but that is for a very different type of charting and mapping. I also read "Write your own GPS Application" Which I have used/adapted a lot of the code from. Both excellent articles but do not address the use of detailed maps (charts) like those used in the boating (nautical) world.

Or maybe I am missing somthing?

If anyone knows of anything that will help steer me in that direction I will be very grateful.

Thanks in advance.

推荐答案



首先,您需要确定要使用现有的地图绘制平台(Google地图,ESRI地图或OpenSource GIS)还是要创建自己的地图绘制平台.

其次,您如何制作自己的航海图.它是矢量数据还是图像(扫描图像).如果它是矢量数据,则以什么坐标为基础.如果坐标系未知,则需要将所有顶点转换为已知坐标系.然后,您可以使用MapWinGis等任何GIS软件绘制图表.

如果您的海图是扫描的图像,则需要将图像坐标转换为真实世界的坐标,这称为地图配准.有免费的工具可以将您的图像注册到GeoTiff.您可以将此GeoTiff与许多开源或商业GIS软件包一起使用.

要进行注册,您需要在航海图中至少知道4个参考坐标(以地理或UTM为单位).如果只有4个参考点,则采用多项式阶数1和双线性插值法进行平移.如果您有许多参考点,则可以使用更高的多项式阶数和三次插值(因为仿射变换需要一些平滑处理).取决于所需的精度.


一旦注册了图像,便可以轻松地绘制地理或UTM中的GPS航路点.

如果您在一帧中选择较小的区域(例如几百海里),则选择UTM.如果较大的海洋在一帧之内,则需要使用地理".地理是一个球面坐标系,比用于转换的UTM复杂.

一旦绘制了GPS点并想要显示海里,就需要将鼠标移到真实坐标上,并将其转换为与参考真实坐标点之间的距离和角度.海里通常距离参考点的距离和角度.

因此,无论您要使用现有的软件包还是要开发自己的软件包,都有很多选择,您更喜欢哪种坐标系,以及如何获取基础地图(航海图)数据(矢量或栅格图像).一旦决定,如果有任何疑问,请发表您的评论.

如果您要开发自己的基于Web的网站,那么SVG(adobe的可缩放矢量图形)可能会为您提供帮助.已经有一个SVG Map软件包.如果有现有软件包,那么这里有很多开源Web地图和商业ESRI Web地图服务.

ESRI Web地图服务可以在客户端与Silver Light集成.

如果使用Windows应用程序计划了自己的软件,则可以将c#或vb.net与可用的坐标转换库一起使用.诸如图片框之类的控件将使您轻松完成将视口从视口坐标转换为地图坐标的工作.如果您知道所有数学地图矩阵转换,那么自定义面板类将更合适.

我在这里给出了基本指导.您可以在互联网上挖掘更多内容
Hi,

First you need to decide you want to use an existing mapping platform (Google maps, ESRI maps or OpenSource GIS) or want to create your own.

Second thing how you are having your nautical chart. Is it a vector data or an image( scanned image). If it is vector data in what coordinate base it is. If it is unknown coordinate system then you need to transform all vertices in to a known coordinate system. Then you can plot your chart with any GIS software like MapWinGis.

If your chart is a scanned image then you need to translate the image coordinates in to real world coordinates which is called map registration. There are free tools available which can register your image to a GeoTiff. This GeoTiff you can use with many open source or commercial GIS packages.

For registration you need to know minimum 4 reference coordinates (in geographic or UTM) in your nautical chart. If you have just 4 reference points then go for polynomial order 1 and bilinear interpolation for translation. If you have many reference point then go for higher polynomial order and cubic interpolation (as some smoothing needed with affine transformation). Depends on how much accuracy required.


Once register the image then it is easily able to plot the GPS way points which are either in geographic or UTM.

If you choose smaller area in one frame (say a few hundred nautical miles) then go for UTM. If larger are a big ocean in one frame then need to use Geographic. Geographic is a spherical coordinate system which is complex than UTM for conversions.

Once the GPS points plotted and you want to display nautical miles then you need to convert the mouse over real world coordinate to distance and angle from the reference real world coordinate point. The nautical miles usually a distance and angle from a reference point.

So there are many choices whether you are going to use a existing package or going to develop your own, which coordinate system you prefer and how you are having your base map (nautical chart) data (vector or raster-image). Once decided then post your comments if any doubts.

If you are going to develop your own web based then SVG (scalable vector graphics from adobe) may help you. Already there is a package SVG Map is there. If existing packages then there are lot of open source web maps and commercial ESRI web map services are there.

ESRI web map service can be integrated with Silver Light at client side.

If planned your own software with windows app, then you can use c# or vb.net with available coordinate transformation libraries. The controls like picture box will make your job easy to translate the view port from view port coordinates to map coordinates. A custom panel class will be more fit if you know all the mathematical map matrix transformations.

I given a basic guidance here. You can dig more in the internet


这篇关于航海/海洋测绘源代码...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆