GPX отслеживает RGF93 в d3.js

Я реализую трехмерную поверхность со вставленными дорожками GPX, как описано в этом блоге: http://blog.mastermaps.com/2013/11/showing-gps-tracks-in-3d-with-threejs.html

Моя 3D-карта сделана с использованием QGIS с использованием проекции RGF93, и я не могу найти хорошую проекцию в d3.js

Гдалинфо моей карты

["RGF93 / Lambert-93",
GEOGCS["RGF93",
    DATUM["Reseau_Geodesique_Francais_1993",
    SPHEROID["GRS 1980",6378137,298.257222101,
            AUTHORITY["EPSG","7019"]],
        TOWGS84[0,0,0,0,0,0,0],
        AUTHORITY["EPSG","6171"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4171"]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",49],
PARAMETER["standard_parallel_2",44],
PARAMETER["latitude_of_origin",46.5],
PARAMETER["central_meridian",3],
PARAMETER["false_easting",700000],
PARAMETER["false_northing",6600000],
UNIT["metre",1,
    AUTHORITY["EPSG","9001"]],
AXIS["X",EAST],
AXIS["Y",NORTH],
AUTHORITY["EPSG","2154"]]
Origin = (585097.372746756765991,6171321.216855648905039)
Pixel Size = (15.149120309400001,-14.887674158699999)
Metadata:
    AREA_OR_POINT=Area
Image Structure Metadata:
    INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (  585097.373, 6171321.217) (  1d36' 3.31"E, 42d37'56.65"N)
Lower Left  (  585097.373, 6165946.766) (  1d36' 7.48"E, 42d35' 2.74"N)
Upper Right (  590475.310, 6171321.217) (  1d39'59.00"E, 42d37'59.67"N)
Lower Right (  590475.310, 6165946.766) (  1d40' 2.98"E, 42d35' 5.75"N)
Center      (  587786.342, 6168633.992) (  1d38' 3.19"E, 42d36'31.22"N)
Band 1 Block=355x5 Type=Float32, ColorInterp=Gray
    Computed Min/Max=1735.500,2908.485
NoData Value=-3.4028234663852886e+38

И проекцию я пытаюсь (среди многих других комбинаций), но не достиг успеха. Я вижу, что точки расположены в центре поверхности, когда масштаб (1), но далеко перемещаются при увеличении значения масштаба.

var projection = d3.geoConicConformal()
    .rotate([-3, 0])
    .center([1.6342194, 42.6086722])
    .parallels([49, 44])
    .translate([100, 100])
    .scale(terrain.map);

Я хотел бы знать, что я делаю неправильно, и каковы соответствующие значения для моей проекции.


РЕДАКТИРОВАТЬ

Я почти нашел решение:

var projection = d3.geoConicConformal()
    .rotate([-terrain.center[1], 0])
    .center([0, terrain.center[0]])
    .parallels([44, 49])
    .translate([100, 100])
    .scale(terrain.map);

где terrain.center [lat, lon] - значения из угловых координат gdalinfo: Центр.

Даже если они не совсем точны, точки почти соответствуют их ожидаемой позиции; они кажутся немного повернутыми против часовой стрелки. Я пытался играть со значением поворота, но он просто переводит всю проекцию влево или вправо.

0 ответов

Другие вопросы по тегам