How to Improve Text Clarity in WMS Imagery Layers for Historical Maps

I’m displaying historical maps on a Cesium globe using WMS (Web Map Service) imagery layers. The maps contain important text elements (legends, labels, statistics) that become blurry and pixelated when users zoom in, making them difficult to read.
Here’s my uploaded image URL: https://eureka.cridb.com/media/2/22/229/2291/229170/it.jpg

It looks like this on the Globe

  1. Initial State

  1. When I Zoomed in (review the url): Jam

Here’s my code for the display map on the cesium globe

const wmsUrl = `https://gis.cridb.com/api/wms?map=${mapUrl}\`;

const newProvider = new Cesium.WebMapServiceImageryProvider({
url: wmsUrl,layers: ‘warped’,
parameters: {
transparent: ‘true’,
format: ‘image/png’,
},
});

import { useCesium } from ‘resium’;

const { viewer } = useCesium();

viewer.imageryLayers.addImageryProvider(ip) // ip contains the newProvider’s value

Can you please help me to resolve this issue?

Hi @Gaurang_Devmurari,

I’m not sure I have an answer off-the-bat, but if you could provide a sandcastle example to reproduce the issue, that would help me troubleshoot. (If you can fill in the url here, that should do the trick)

That said, this seems like a resolution mismatch issue. I don’t know if that issue stems from what Cesium is rendering, or what the web map imagery provider is providing. It might help to specify the tileWidth and tileHeight parameters in the Cesium.WebMapServiceImageryProvider constructor options. Or, your imagery provider may have parameters for map resolution, DPI, etc that could help as well.

Hope that helps a bit.

Best,
Matt