Skip to content

Commit af01ef9

Browse files
committed
Avoid hardcoding source CRS
1 parent 606e52d commit af01ef9

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

app/index.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,35 @@
11
import { MapboxOverlay } from "@deck.gl/mapbox";
22
import { GeoJsonLayer } from "@deck.gl/layers";
33
import maplibregl from "maplibre-gl";
4-
import { asyncBufferFromUrl } from "hyparquet";
4+
import { asyncBufferFromUrl, parquetMetadataAsync } from "hyparquet";
55
import { toGeoJson } from "geoparquet";
66
import proj4 from "proj4";
7+
import Converter from "projjson-to-wkt";
8+
9+
async function getSourceCrs(file) {
10+
const metadata = await parquetMetadataAsync(file);
11+
const geoMetadata = JSON.parse(
12+
metadata.key_value_metadata?.find((kv) => kv.key === "geo").value,
13+
);
14+
return Converter.toWkt1(geoMetadata.columns.geometry.crs);
15+
}
716

817
async function initializeMap() {
918
try {
1019
// Load and convert GeoParquet file
1120
const url =
1221
"https://raw.githubusercontent.com/astrojuanlu/desalkila/refs/heads/app/app/public/registry_cam_no_vuts_simple.geoparquet";
1322
const file = await asyncBufferFromUrl({ url });
23+
const sourceCrs = await getSourceCrs(file);
24+
1425
var geojson = await toGeoJson({ file });
1526
geojson = {
1627
type: "FeatureCollection",
1728
features: geojson.features.map((feature) => {
1829
const reprojectedGeometry = {
1930
type: feature.geometry.type,
2031
coordinates: proj4(
21-
"+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs",
32+
sourceCrs,
2233
"EPSG:4326",
2334
feature.geometry.coordinates,
2435
),

app/package-lock.json

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"geoparquet": "^0.3.0",
1616
"hyparquet": "^1.8.0",
1717
"maplibre-gl": "^5.0.0",
18-
"proj4": "^2.15.0"
18+
"proj4": "^2.15.0",
19+
"projjson-to-wkt": "^0.1.0"
1920
},
2021
"devDependencies": {
2122
"@eslint/js": "^9.17.0",

0 commit comments

Comments
 (0)