GIS:如何使用.prj(WKT)投影调整图层大小? (地理坐标系)

发布于 2024-11-18 12:26:27 字数 1367 浏览 8 评论 0原文

简而言之:

如何参数化 .prj WKT 文件以便我可以执行 7 点转换 (wiki)。我知道 false_easting 和 false_northing 参数如何工作,但如何调整比例?我的意思不是scale_factor'

这就是问题描述:

我将交通网络(矢量图层)保存在非GIS环境(交通建模软件)中。网络由节点(点)和折线(道路链接)组成。它主要是从随机背景完成的,无论任何投影、坐标等。

我需要为网络设置适当的投影。

我可以访问 .prj 文件(如果我处于 WGS84 投影中,我可以切换到任何其他投影)

,这就是我正在尝试的:
我尝试 7 点 Helmert 变换 (http://proj.maptools.org/gen_parms.html) 。我在 .prj 文件中使用 towgs84 变换作为 WKT 参数,其中假设旋转矩阵为零(我可以这样做吗?)并且我仅计算 delta_x、delta_y 和比例参数。

然而它不会起作用。这是我的 .prj , TOWGS84 中的参数不会影响转换:

PROJCS["UTM 17 (WGS84) in northern hemisphere.",
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563],
        TOWGS84[0,0,0,0,0,0,100000000000000000000000]],
    PRIMEM["Greenwich",0],
    UNIT["DMSH",0.0174532925199433],
    AXIS["Lat",NORTH],
    AXIS["Long",EAST],

PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",0],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0]]

所以我尝试使用 false_nortingfalse_easting 参数,这些参数效果很好,并且正确地转换了我的网络,但是:

它不会改变我的网络规模,只会改变位置。那么如何使用 .prj 文件重新调整我的网络?

感谢您的任何提示

Briefly:

How to parametrize .prj WKT file so that I can perform 7 point tranformation (wiki). I know how false_easting and false_northing params work, but how can I adjust scale? I do not mean scale_factor'

That's the problem description:

I have transportation network (vector layer) saved in non-GIS environment (transport modeling software). Network consists of nodes (points) and polylines (road links). It's done mostly from random backgrounds, regardless any projection, coordinates, etc.

I need to set appropriate projection for the network.

I have accesss to .prj files (if I'm in an say WGS84 projection I can switch to any other projection)

So that's what I'm trying:
I try 7 point Helmert Transformation (http://proj.maptools.org/gen_parms.html). I use towgs84 transformation as a WKT param in .prj file, where I assume that rotation matrix is zero (can I do so?) and I calculate only delta_x, and delta_y, and scale param.

However it will not work. This is my .prj , params in TOWGS84 do not affect transformation:

PROJCS["UTM 17 (WGS84) in northern hemisphere.",
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563],
        TOWGS84[0,0,0,0,0,0,100000000000000000000000]],
    PRIMEM["Greenwich",0],
    UNIT["DMSH",0.0174532925199433],
    AXIS["Lat",NORTH],
    AXIS["Long",EAST],

PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",0],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0]]

So I tried to use false_norting and false_easting params, and those work good, and transform my network proprely, BUT:

It will not chcange scale of my network, only position. So how can I rescale my network using .prj file?

Thanks for any hints

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神回复 2024-11-25 12:26:27

问题已解决: 'scale_factor' 和 UNIT['Meter',%scale_factor] 仅在数据发生变化时才起作用。

实际上在 gis.stackexchange.com/ 这里给我带来了解决方案。

无论如何:.prj 文件、地理坐标系、proj4js、EPSG 等的记录都很薄弱:没有 API、没有教程、没有示例、没有参考资料。

IE
1)没有任何关于 EPSG 数据库代码是什么以及应该选择哪些代码的直接描述。

2)我应该选择什么+proj参数来定义投影

3)如何创建.prj以及特定.prj文件元素的参数是什么。

糟糕的编程区!

Problem solved: both 'scale_factor' , and UNIT['Meter',%scale_factor] works only if datum changes.

Actually comments at the same problem at gis.stackexchange.com/ here brought me to solution.

Anyway: .prj files, Geo Coordinate Systems, proj4js, EPSG etc. are vary weakly documented: no API, no tutorials, no examples, no refernces.

i.e.
1)not any straighforward description of what EPSG database codes are, and which should be chosen.

2)what +proj parameters should I choose to define projection

3)how to create .prj and what are parameters of specific .prj file elements.

awful programming area!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文