标签: map-projections

如何从shapefile的.prj文件中获取Proj4详细信息?

我正在使用mapdotnet服务为我们的gis应用程序加载shapefile,而这个mapdotnet服务需要proj4细节.我从spatialreference.org获取它们,但是对于这个投影,proj4的细节是空白的.如何从.prj文件或shapefile中获取proj4详细信息?

下面是shapefile的.prj:

PROJCS["NAD_1983_HARN_WISCRS_EauClaire_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",394000.0],PARAMETER["False_Northing",300812.797],PARAMETER["Central_Meridian",-91.28888888888889],PARAMETER["Standard_Parallel_1",45.87228112638889],PARAMETER["Scale_Factor",1.000035079],PARAMETER["Latitude_Of_Origin",45.87228112638889],UNIT["Foot_US",0.3048006096012192]]
Run Code Online (Sandbox Code Playgroud)

gis map shapefile map-projections

4
推荐指数
2
解决办法
4507
查看次数

如何从等角投影中绘制正交投影

我有这个图像: https://raw.githubusercontent.com/Mihara/RasterPropMonitor/master/GameData/JSI/RasterPropMonitor/Library/Components/NavBall/NavBall000.png

我不知道究竟是什么样的投影,我猜是形状的equirectangular或mercator.这是态度指标的纹理,b.

我想根据由两个角度(航向和俯仰)定义的方向向量绘制正投影,b或者可能是一个普通透视投影(哪个看起来更好).此方向定义球体上的一个点,此点应该是投影的中心.

我希望它从飞行员的角度来看,因此只应绘制一半的球体.

我使用python,我还没有选择图形库,但我可能会使用pygame.

我找到了相关的东西:http://www.pygame.org/project-Off-Center+Map+Projections-2881-.html但是它使用的是OpenGL而我没有使用它的经验,但我可以尝试,如果需要的话.

我该怎么办?我可能可以通过计算计算公式中的每个像素来手动绘制它,但我认为有一些库工具可以有效地做到这一点(硬件加速可能?).

python opengl pygame map-projections

4
推荐指数
1
解决办法
2165
查看次数

如何在 d3js 中居中和缩放地图(使用projection.center/translate/rotate?)

鉴于我有给定地理特征和特定投影的 topoJSON 数据。

我应该如何居中和缩放地图以适合其父对象?

看来我可以使用projection.rotate()、projection.translate()或projection.center()来使地图居中:

https://github.com/d3/d3-3.x-api-reference/blob/master/Geo-Projections.md

有什么区别以及规模如何影响不同的功能?

maps visualization map-projections d3.js

4
推荐指数
1
解决办法
6098
查看次数

ThreeJS - 将纹理投影到网格表面

我希望将纹理投影到 ThreeJS 中的网格表面。

https://www.lanyardmarket.com/en/printed-tshirt

此链接实现了我正在寻找的结果,但我不确定他们是如何实现的。

.

我会在研究时更新这篇文章,但是如果有人知道如何将 ThreeJS 纹理投影到我很想知道的网格上。

谢谢

javascript map-projections three.js

4
推荐指数
1
解决办法
1550
查看次数

在 d3js 中寻找具有特定投影的世界地图

我玩过d3js (v5)地图,我正在尝试生成这张地图(截图来自一个随机网站), 对于我的特殊情况,不需要呈现南极洲

在此处输入图片说明

我在这里阅读了文档:https : //github.com/d3/d3-geo#projections,并按照说明使用了 geoMercator,得到了这张平面地图,由于某种原因,该地图在北上角截断

在此处输入图片说明

获取第一张地图布局的正确方法是什么?有什么建议?

javascript geo map-projections d3.js

4
推荐指数
1
解决办法
1111
查看次数

使用LINQ动态映射(或构建投影)

我知道我可以使用投影映射两个对象类型LINQ,如下所示:

var destModel = from m in sourceModel
               select new DestModelType {A = m.A, C = m.C, E = m.E}
Run Code Online (Sandbox Code Playgroud)

哪里

class SourceModelType
{
    string A {get; set;}
    string B {get; set;}
    string C {get; set;}
    string D {get; set;}
    string E {get; set;}
}

class DestModelType
{
    string A {get; set;}
    string C {get; set;}
    string E {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我想制作类似通用的东西来做这件事,我不知道具体处理我正在处理的两种类型.所以它会走"Dest"类型并匹配匹配的"Source"类型..这可能吗?另外,为了实现延迟执行,我希望它只返回一个IQueryable.

例如:

public IQueryable<TDest> ProjectionMap<TSource, TDest>(IQueryable<TSource> sourceModel)
{
   // dynamically build the LINQ projection based on the properties in …
Run Code Online (Sandbox Code Playgroud)

linq mapping map-projections

3
推荐指数
1
解决办法
1139
查看次数

使用D3更改形状文件投影以进行可视化

我正在尝试制作一个涉及英国地图和所有约650个选区的可视化.我按照这个优秀的教程http://bost.ocks.org/mike/map/绘制了地图,效果很好.然而,我能为选区找到的唯一来源是军械测量(自然地球有县但没有选区).问题是操作系统选区文件不包含它们相同类型的坐标(您可以告诉我,我不是GIS专家),他们使用横向墨卡托投影.以下是我要转换的数据的.prj文件的属性:

PROJCS["British_National_Grid",GEOGCS["GCS_OSGB_1936",DATUM["D_OSGB_1936",SPHEROID["Airy_1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000],PARAMETER["False_Northing",-100000],PARAMETER["Central_Meridian",-2],PARAMETER["Scale_Factor",0.999601272],PARAMETER["Latitude_Of_Origin",49],UNIT["Meter",1]]
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在D3中将其转换为投影?我安装了ogr2ogr和TopJson但不确定这些是否可以做到这一点我无法在任何地方找到信息,因为我没有足够的基础知识.

TIA

javascript maps geo map-projections d3.js

3
推荐指数
1
解决办法
1028
查看次数

d3 中的 Lambert 圆锥共形投影

我正在尝试在我的祖国奥地利的 SVG 地图上投影一组点([long, lat] 元组):

https://commons.wikimedia.org/wiki/File:Austria-geographic_map-blank.svg

维基媒体上对 SVG 文件的描述给出了投影名称和地图边界:

Lambert Conformal Conic,WGS84 数据
地图的地理范围:

西:17.2° W
东:9.3° W
北:49.2° N
南:46.0​​° N

虽然我很天真,但我认为这些信息足以用 D3 创建正确的投影。

这是我首先尝试的:

    let gcc = d3.geoConicConformal()
        .fitSize([width, height], bbox)
Run Code Online (Sandbox Code Playgroud)

哪里bbox是表示上面给出的地图边界的 GeoJSON 多边形。

不幸的是,结果不是正确的预测:

在此处输入图片说明

现在,通过阅读 D3 文档,我可以猜测我必须为投影指定更多参数,例如两个标准平行线。不幸的是,我不知道它们是什么,并且在地图的西部和东部边界周围尝试各种值都没有奏效。我认为它们可以从我对地图的了解中推导出来,或者可能不是?

其次,让我感到困惑的是,投影不仅旋转错误,而且缩放也不正确——我认为使用.fitSize会解决这个问题。

任何人都可以给我任何关于正确设置兰伯特圆锥共形投影的指示吗?

javascript projection map-projections d3.js

3
推荐指数
1
解决办法
630
查看次数

计算墨卡托 d3 缩放以匹配传单缩放级别

给定 Leaflet 缩放级别 (0..22),我将如何计算 geoMercator 投影的 D3 缩放值?当 zoom=0 时,整个世界都适合在单个图块 (256x256) 内。在瓦片中,世界大小是 2^zoom x 2^zoom 瓦片。

map-projections mercator d3.js leaflet

3
推荐指数
1
解决办法
996
查看次数

如何使 geoAlbersUSA 投影像 geoMercator 一样笔直(而不是弯曲)?

我按照指南在 d3js 中创建了美国的基本地图

指南链接 - http://bl.ocks.org/michellechandra/0b2ce4923dc9b5809922


我已经了解了 GeoJSON 和地图投影的基础知识。

目前我的地图看起来像这样 - (地图 1) - 这使用d3.geoAlbersUsa()投影 在此输入图像描述

我希望我的地图看起来像这样 - (地图 2) - 即顶部不是弯曲的,而是直线边界

链接https://www.worldatlas.com/webimage/countrys/namerica/usstates/usa50mer.htm

在此输入图像描述

要求 -

  1. 我想让阿拉斯加和夏威夷在地图中保持可见,就像两幅图像中一样

我已经尝试过什么 -

  1. 我尝试过使用d3.geoMercator()投影,但阿拉斯加太大,无法容纳在视口中,并且位于我不想要的左上角。

gis geojson map-projections d3.js

3
推荐指数
1
解决办法
1205
查看次数