mrkeyoor.com_
Sat 17 Oct 13:31 UTC
Webevaluationupdated 10 Oct 2026

map3d review

Map3d turns a selected OpenStreetMap area into a browser scene of buildings and roads, with GLB download for another 3D tool. It helps you create visual city context quickly, while its README warns that source heights can be missing or wrong.

+15stars / 7d
Verdict

Our map3d build passed in 19 seconds, but its 1,301-package install returned 120 known vulnerabilities, including 4 critical. I would use it for a local visual sketch after dependency review and an import check, with no reliance on unverified building dimensions. For production mapping or surveying, budget substantial work beyond this checkout.

We ran it

Lab card: what happened when we ran map3dScreenshot of map3d (map.fleet.im)
Install✓ · 117s1301 packages · 646 MB
Build✓ · 19s
Testsn/ano test script
Known vulns1204 critical · 82 high · 26 moderate · 8 low (npm audit)
Repo35 files~1,992 lines of source · 1.5 MB · 0 CI workflows

Answers from our run

Does map3d build from source?

Dependencies installed in 117 seconds (1301 packages), and the build succeeded in 19 seconds. We cloned commit 2c5d732 into a clean Debian container with 3 CPUs and no project-specific setup.

Does map3d have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does map3d have known vulnerabilities in its dependencies?

npm audit flagged 120 known advisories in the dependency tree, including 4 critical at the time of our run.

Who should not use map3d?

Surveying or engineering work that needs verified dimensions: the README explicitly disclaims data accuracy.

What are the alternatives to map3d?

CesiumJS, MapLibre GL JS. Our map3d build passed in 19 seconds, but its 1,301-package install returned 120 known vulnerabilities, including 4 critical.

Setup2/5Build passes, 117-second install and 120 advisories need attention
Docs2/5Clear accuracy warning, no local setup or deployment walkthrough
Community2/52,590 stars, May push, unresolved June and August activity
Maturity1/5No tests or CI, 4 critical advisories, road-export complaint

Who it’s for

React developers who want to adapt a compact map-selection and GLB-export application.
Designers making rough urban context models who can check the imported geometry.
People learning how OpenStreetMap tags become building shapes in React Three Fiber.

Who it’s NOT for

Surveying or engineering work that needs verified dimensions: the README explicitly disclaims data accuracy.
Users expecting editable heights, terrain heightmaps, or building textures today: those roadmap items remain unchecked.
Blender workflows requiring confirmed road export: issue 15 reports missing roads in the imported GLB.
Operators expecting documented offline setup: the README has no local guide and the source uses public map-data services.

Setup reality

Our run at commit 2c5d732 installed 1,301 npm packages in 117 seconds, occupied 646 MB, and built in 19 seconds. Tests were skipped because no script or target existed. Npm audit reported 120 known vulnerabilities: 4 critical, 82 high, 26 moderate, and 8 low. The 1.5 MB checkout had 35 files, about 1,992 source lines, and no CI workflows, Dockerfile, or tests directory.

The manifest provides Vite development and preview commands, but the README has no local setup walkthrough. The ordinary selection and GLB path shows no account requirement in the inspected UI. It fetches tiles from OpenStreetMap and building and road data from a public Overpass endpoint, so network access is required.

The measured build did not verify browser rendering or GLB import. Missing heights become assumed geometry, and issue 15 reports roads absent in Blender. Review dependency advisories and check a downloaded model in your actual destination tool before adopting this for production work.

Map3d is useful for a city sketch with an export button

Select a rectangle on the map, fetch its building information, and map3d turns that area into a scene you can download as a GLB file. The source makes that workflow easy to understand: a Leaflet selection screen feeds a React Three Fiber scene, which creates building shapes and road lines. That gives a concept model recognizable urban context.

Our checkout was only 1.5 MB and roughly 1,992 source lines, so reading the application is a realistic option before adapting it. The README mentions digital twins and drone surveying as possible uses built on the project. Those examples should not be mistaken for delivered surveying features. Its own warning says OpenStreetMap heights may be missing or wrong. I would use the result as a sketch until the underlying geometry had been checked.

What happened when we ran it

Our run installed 1,301 npm packages in 117 seconds and built successfully in 19 seconds at commit 2c5d732. We used a fresh unprivileged Debian container on October 9, 2026, with 3 CPUs, 8 GB of RAM, the lab-node:22 image, and no secrets. The installation occupied 646 MB. Tests were skipped because there was no test script or target, so the result contains no passing suite.

Npm audit reported 120 known vulnerabilities: 4 critical, 82 high, 26 moderate, and 8 low. The checkout had 35 files and no CI workflow files, Dockerfile, or tests directory. Installation and compilation succeeded despite that audit result. The supplied measurements do not identify affected packages or establish which advisories can be reached through the running application. They do establish a substantial dependency-review requirement before adoption.

The source supplies setup details the README omits

The package manifest provides development and preview commands through Vite, with a build that invokes TypeScript and the frontend bundler. The README explains the idea and links a demo, but supplies no local setup walkthrough. React developers can recover the commands. Operators must write their own hosting and recovery guide.

The 117-second install is a larger commitment than the compact source suggests. Ordinary map selection and GLB download do not present an account requirement in the inspected UI, but they do need network access. The selection screen requests OpenStreetMap tiles, and building and road queries go to the public Overpass endpoint. Hosting the frontend locally therefore does not make the application's data-fetching workflow offline or independent of outside services.

Missing height data becomes assumed geometry

The scene code reads building heights and level counts from OpenStreetMap tags. When no height can be parsed, it assigns a fallback height. Where a level count exists, it uses that to calculate the extrusion instead. That is sensible for filling a picture, but the finished shape can look precise even when the input was absent. Keep that distinction visible to anyone receiving an exported model.

The 19-second build confirms that the source compiles, not that a building's dimensions match the real site. The README leaves height customization and heightmaps unchecked, along with textures and materials. Manual correction is described as future work. If you need verified elevation, detailed facades, or a current correction interface, these omissions directly affect the job. A smooth-looking city scene does not settle those requirements.

A visible road is not proof of a complete GLB export

Issue 15, updated August 30, reports buildings appearing in Blender while roads visible on the website are absent from the exported file. The reporter also describes the model as floating. That is a relevant complaint about the central deliverable. We did not exercise the browser export in our sandbox, so the report is evidence to investigate rather than a reproduced failure on our machine.

Our run supplied no tests for the export path. The inspected exporter collects scene objects marked for GLB output, rather than promising a copy of everything visible in the browser, including its environment. Download a small area and open it in your destination tool before preparing a larger scene. Check the roads and building placement there. Success means a useful imported asset, not merely a file appearing in your downloads folder.

The audit makes production adoption an extra project

The 120 known vulnerabilities make dependency cleanup part of the decision to adopt map3d. Without the detailed advisory output, it would be wrong to say every finding exposes a deployed site. It would also be wrong to wave them away because the app is mostly frontend code. Review the dependency paths and deployed behavior, then decide what to update before you put this checkout into a production workflow.

The 646 MB installed footprint is manageable on a development machine, but it gives the small repository a much larger dependency surface to maintain. I would keep an initial trial local and limit it to nonsensitive map data while reviewing that surface. The payoff is concrete: you can inspect a compact selection-to-export implementation instead of designing it yourself. The price includes updates and your own checks for outputs you depend on.

May code activity and unresolved reports warrant caution

The last push was May 13, 2026. GitHub showed 2,590 stars and 5 open issues and PRs, and the latest-release endpoint returned no published release. A location-search pull request remained open after June activity, followed by the August road-export report. That suggests slow integration, with unresolved concerns. It does not prove abandonment, and search remains a proposal.

CesiumJS is worth comparing when you need a broader geospatial viewer, and MapLibre GL JS when interactive vector mapping is the main requirement. Neither is a drop-in GLB exporter for this workflow. Map3d makes sense if selecting an area and carrying its rough geometry into another tool is exactly your task. Choose a block you know well enough to recognize missing buildings, then inspect the imported file before showing it to somebody who might trust its dimensions.

Alternatives

ProjectWhat it isPick it when
CesiumJSA JavaScript library for geospatial globes and maps in the browser.pick this instead when you need a broader geospatial viewer and can build the surrounding application.
MapLibre GL JSA browser renderer for interactive vector tile maps.pick this instead when vector mapping is the main job and exporting a standalone GLB asset is not required.

What people are saying

  1. [github-trending] cartesiancs/map3d

Sources

  1. Map3d scope and accuracy warning
  2. Package commands
  3. Scene geometry and GLB exporter
  4. Building requests and UI workflow
  5. Map tile selection source
  6. Roads missing in Blender report
  7. Unmerged location-search proposal

More web reviews

dioramas · elpis · deepseek-whale-girl · floorplan-3d · taro · driver.js · the whole board →