Add and use new proj4.register function
This commit is contained in:
@@ -3,6 +3,7 @@ import _ol_View_ from '../src/ol/View.js';
|
||||
import * as _ol_extent_ from '../src/ol/extent.js';
|
||||
import _ol_layer_Tile_ from '../src/ol/layer/Tile.js';
|
||||
import {get as getProjection, getTransform} from '../src/ol/proj.js';
|
||||
import {register} from '../src/ol/proj/proj4.js';
|
||||
import _ol_source_OSM_ from '../src/ol/source/OSM.js';
|
||||
import _ol_source_TileImage_ from '../src/ol/source/TileImage.js';
|
||||
|
||||
@@ -42,6 +43,7 @@ function setProjection(code, name, proj4def, bbox) {
|
||||
|
||||
var newProjCode = 'EPSG:' + code;
|
||||
proj4.defs(newProjCode, proj4def);
|
||||
register(proj4);
|
||||
var newProj = getProjection(newProjCode);
|
||||
var fromLonLat = getTransform('EPSG:4326', newProj);
|
||||
|
||||
|
||||
@@ -5,7 +5,5 @@ shortdesc: Demonstrates client-side reprojection of single image source.
|
||||
docs: >
|
||||
This example shows client-side reprojection of single image source.
|
||||
tags: "reprojection, projection, proj4js, image, imagestatic"
|
||||
resources:
|
||||
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js
|
||||
---
|
||||
<div id="map" class="map"></div>
|
||||
|
||||
@@ -6,12 +6,15 @@ import _ol_layer_Tile_ from '../src/ol/layer/Tile.js';
|
||||
import {transform} from '../src/ol/proj.js';
|
||||
import _ol_source_ImageStatic_ from '../src/ol/source/ImageStatic.js';
|
||||
import _ol_source_OSM_ from '../src/ol/source/OSM.js';
|
||||
|
||||
import {register} from '../src/ol/proj/proj4.js';
|
||||
import proj4 from 'proj4';
|
||||
|
||||
proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' +
|
||||
'+x_0=400000 +y_0=-100000 +ellps=airy ' +
|
||||
'+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' +
|
||||
'+units=m +no_defs');
|
||||
register(proj4);
|
||||
|
||||
var imageExtent = [0, 0, 700000, 1300000];
|
||||
|
||||
var map = new _ol_Map_({
|
||||
|
||||
@@ -4,6 +4,7 @@ import * as _ol_extent_ from '../src/ol/extent.js';
|
||||
import _ol_format_WMTSCapabilities_ from '../src/ol/format/WMTSCapabilities.js';
|
||||
import _ol_layer_Tile_ from '../src/ol/layer/Tile.js';
|
||||
import {get as getProjection} from '../src/ol/proj.js';
|
||||
import {register} from '../src/ol/proj/proj4.js';
|
||||
import _ol_source_OSM_ from '../src/ol/source/OSM.js';
|
||||
import _ol_source_TileImage_ from '../src/ol/source/TileImage.js';
|
||||
import _ol_source_TileWMS_ from '../src/ol/source/TileWMS.js';
|
||||
@@ -16,38 +17,40 @@ proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' +
|
||||
'+x_0=400000 +y_0=-100000 +ellps=airy ' +
|
||||
'+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' +
|
||||
'+units=m +no_defs');
|
||||
var proj27700 = getProjection('EPSG:27700');
|
||||
proj27700.setExtent([0, 0, 700000, 1300000]);
|
||||
|
||||
proj4.defs('EPSG:23032', '+proj=utm +zone=32 +ellps=intl ' +
|
||||
'+towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs');
|
||||
var proj23032 = getProjection('EPSG:23032');
|
||||
proj23032.setExtent([-1206118.71, 4021309.92, 1295389.00, 8051813.28]);
|
||||
|
||||
proj4.defs('EPSG:5479', '+proj=lcc +lat_1=-76.66666666666667 +lat_2=' +
|
||||
'-79.33333333333333 +lat_0=-78 +lon_0=163 +x_0=7000000 +y_0=5000000 ' +
|
||||
'+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs');
|
||||
var proj5479 = getProjection('EPSG:5479');
|
||||
proj5479.setExtent([6825737.53, 4189159.80, 9633741.96, 5782472.71]);
|
||||
|
||||
proj4.defs('EPSG:21781', '+proj=somerc +lat_0=46.95240555555556 ' +
|
||||
'+lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel ' +
|
||||
'+towgs84=674.4,15.1,405.3,0,0,0,0 +units=m +no_defs');
|
||||
proj4.defs('EPSG:3413', '+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 ' +
|
||||
'+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs');
|
||||
proj4.defs('EPSG:2163', '+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 ' +
|
||||
'+a=6370997 +b=6370997 +units=m +no_defs');
|
||||
proj4.defs('ESRI:54009', '+proj=moll +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 ' +
|
||||
'+units=m +no_defs');
|
||||
register(proj4);
|
||||
|
||||
var proj27700 = getProjection('EPSG:27700');
|
||||
proj27700.setExtent([0, 0, 700000, 1300000]);
|
||||
|
||||
var proj23032 = getProjection('EPSG:23032');
|
||||
proj23032.setExtent([-1206118.71, 4021309.92, 1295389.00, 8051813.28]);
|
||||
|
||||
var proj5479 = getProjection('EPSG:5479');
|
||||
proj5479.setExtent([6825737.53, 4189159.80, 9633741.96, 5782472.71]);
|
||||
|
||||
var proj21781 = getProjection('EPSG:21781');
|
||||
proj21781.setExtent([485071.54, 75346.36, 828515.78, 299941.84]);
|
||||
|
||||
proj4.defs('EPSG:3413', '+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 ' +
|
||||
'+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs');
|
||||
var proj3413 = getProjection('EPSG:3413');
|
||||
proj3413.setExtent([-4194304, -4194304, 4194304, 4194304]);
|
||||
|
||||
proj4.defs('EPSG:2163', '+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 ' +
|
||||
'+a=6370997 +b=6370997 +units=m +no_defs');
|
||||
var proj2163 = getProjection('EPSG:2163');
|
||||
proj2163.setExtent([-8040784.5135, -2577524.9210, 3668901.4484, 4785105.1096]);
|
||||
|
||||
proj4.defs('ESRI:54009', '+proj=moll +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 ' +
|
||||
'+units=m +no_defs');
|
||||
var proj54009 = getProjection('ESRI:54009');
|
||||
proj54009.setExtent([-18e6, -9e6, 18e6, 9e6]);
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ import _ol_View_ from '../src/ol/View.js';
|
||||
import ScaleLine from '../src/ol/control/ScaleLine.js';
|
||||
import _ol_layer_Tile_ from '../src/ol/layer/Tile.js';
|
||||
import {fromLonLat, transformExtent} from '../src/ol/proj.js';
|
||||
import {register} from '../src/ol/proj/proj4.js';
|
||||
import _ol_source_OSM_ from '../src/ol/source/OSM.js';
|
||||
|
||||
proj4.defs('Indiana-East', 'PROJCS["IN83-EF",GEOGCS["LL83",DATUM["NAD83",' +
|
||||
@@ -14,6 +15,7 @@ proj4.defs('Indiana-East', 'PROJCS["IN83-EF",GEOGCS["LL83",DATUM["NAD83",' +
|
||||
'PARAMETER["central_meridian",-85.66666666666670],' +
|
||||
'PARAMETER["latitude_of_origin",37.50000000000000],' +
|
||||
'UNIT["Foot_US",0.30480060960122]]');
|
||||
register(proj4);
|
||||
|
||||
var map = new _ol_Map_({
|
||||
layers: [
|
||||
|
||||
@@ -5,10 +5,12 @@ import _ol_format_GeoJSON_ from '../src/ol/format/GeoJSON.js';
|
||||
import _ol_layer_Vector_ from '../src/ol/layer/Vector.js';
|
||||
import _ol_proj_Projection_ from '../src/ol/proj/Projection.js';
|
||||
import _ol_source_Vector_ from '../src/ol/source/Vector.js';
|
||||
import {register} from '../src/ol/proj/proj4.js';
|
||||
|
||||
|
||||
proj4.defs('ESRI:53009', '+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 ' +
|
||||
'+b=6371000 +units=m +no_defs');
|
||||
register(proj4);
|
||||
|
||||
// Configure the Sphere Mollweide projection object with an extent,
|
||||
// and a world extent. These are required for the Graticule.
|
||||
|
||||
@@ -141,7 +141,15 @@ ExampleBuilder.prototype.render = async function(dir, chunk) {
|
||||
|
||||
// add in script tag
|
||||
const jsName = `${name}.js`;
|
||||
let jsSource = chunk.modules[0].source;
|
||||
const jsPath = path.join(dir, jsName);
|
||||
let jsSource;
|
||||
for (let i = 0, ii = chunk.modules.length; i < ii; ++i) {
|
||||
const module = chunk.modules[i];
|
||||
if (module.identifier == jsPath) {
|
||||
jsSource = module.source;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (data.cloak) {
|
||||
for (const key in data.cloak) {
|
||||
jsSource = jsSource.replace(new RegExp(key, 'g'), data.cloak[key]);
|
||||
|
||||
@@ -6,6 +6,7 @@ import _ol_layer_Image_ from '../src/ol/layer/Image.js';
|
||||
import {fromLonLat} from '../src/ol/proj.js';
|
||||
import _ol_proj_Projection_ from '../src/ol/proj/Projection.js';
|
||||
import _ol_source_ImageWMS_ from '../src/ol/source/ImageWMS.js';
|
||||
import {register} from '../src/ol/proj/proj4.js';
|
||||
|
||||
|
||||
// Transparent Proj4js support:
|
||||
@@ -23,6 +24,8 @@ import _ol_source_ImageWMS_ from '../src/ol/source/ImageWMS.js';
|
||||
// create an ol.proj.Projection instance. ol.proj.get() will take care of it
|
||||
// internally.
|
||||
|
||||
register(proj4);
|
||||
|
||||
var projection = new _ol_proj_Projection_({
|
||||
code: 'EPSG:21781',
|
||||
extent: [485869.5728, 76443.1884, 837076.5648, 299941.7864]
|
||||
|
||||
Reference in New Issue
Block a user