Summary: A city digital twin looks fake when trees, cars and buildings are placed by rule. Measured from government open data and checked against photos, our 3D city model of the Larnaca seafront reached a recognisable look in days, with no purchased imagery, and runs in a browser on laptops and phones.
“Cyprus looks like Saudi Arabia.” That was the owner’s verdict on our first pass at a 3D twin of the Larnaca seafront. The one before it was blunter: “visually unattractive”. Then came “roof photos look like stains” and, on one bad afternoon, “forest in the sea”.
Each comment was fair, and each one pointed at a different mistake. The final version runs in a browser, on a laptop with integrated graphics at 51 to 61 frames per second and on phones at 60. We bought no imagery, no 3D city and no subscription to get there.
Why a city digital twin looks fake
A developer selling apartments off-plan by the sea needs the buyer to recognise the street. The tower is the developer’s own model and looks fine. Everything around it is where twins fail: the trees, the parked cars, the café umbrellas, the shop fronts on the promenade.
The usual method is to place those by rule. A tree every twelve metres along the road, a generic building block wherever the map shows a footprint, a satellite photo draped over the ground. It is fast, and it produces a city that is clearly not the one outside the window.

Rendering effects do not fix that. Sky, shadows, anti-aliasing and soft light took our first version from “toy” to “polished toy”. It still looked fake, because the objects were in the wrong places at the wrong sizes.
Measure it, don’t place it
The fix was to measure every object from government open data instead of inventing it.
Cyprus’s Department of Lands and Surveys publishes an orthophoto plus two height models: one of the bare terrain and one of the surface including everything standing on it. Subtract one from the other and you get the height of whatever is there. That gave us 1,869 trees in one quarter and 4,309 along the Finikoudes promenade, each at its real height and crown width.
Parked cars came from the orthophoto too. An object-detection model found 469 in one area and 1,401 in the other, each with its real heading. Beach umbrellas were picked out by their shape: 755 and 401. The ground stopped being a stretched photo and became a land map of soil, grass, paving and sand, with shading baked in from the height data.
The “Saudi Arabia” comment came from too little green. Measured trees fixed it.

Photos make stains
The “stains” comment taught the second lesson. A satellite photo draped over a roof looks right from above. At street level, from the angle a buyer actually views the scene, every air conditioner, dish and water tank becomes a dark smear.
So we stopped draping photos on 3D surfaces. The objects on the roofs are modelled, and the roof texture stays plain grey. The city looks cleaner and, oddly, more real.
Every guess is wrong somewhere
The seafront buildings that face the promenade had to be modelled one by one, 132 of them, from written descriptions read off street-level photos. We then checked a second area against place photos on Google Maps. That pass corrected 21 of 73 buildings. One “six-storey tower” was a single-storey restaurant.
The developer’s own buildings needed the same discipline. Their sales viewer ships each building with a slice of the city around it. Fitting that slice to land-registry footprints gave the true position. Our earlier hand placement had put one building a third of the way onto a road.
Nearly one guess in three was wrong. You do not see that until you check, and the buyer who lives on that street sees it at once. A measured city also settles the buyer’s first question about the view: for one project we counted the sea pixels from every balcony.

The phone sets the budget
A city full of measured objects is heavy. Drawing only the 200-metre cells near the camera cut street-level triangles from 9.4 million to 2.1 million with no visible loss. Phones get a lighter profile without the small props and glows.
The laptop was never the problem. The phone in a buyer’s hand at a sales event is the ceiling, so we test on that first.
What to check before you commission one
- Ask where the trees, cars and street fronts come from. “Placed procedurally” means a generic city. Measured from open data, or checked against photos, means the buyer’s city.
- Ask whether the developer’s own 3D viewer or BIM export will be used to position the buildings. It is the cheapest ground truth there is.
- Ask to see it on a mid-range phone, not only in a video recorded on a workstation.
- Read the open-data licence. Cyprus publishes under CC BY-SA 4.0. Share-alike terms in a commercial product deserve a proper read before anyone signs.
Two areas of about four square kilometres run smoothly at this level of detail. Fifteen square kilometres would need tiling, which is a few more days of work. Price measured areas and rule-based areas separately, and spend the measuring where the buyer will actually look.
Frequently asked questions
What data do you need to build a city digital twin?
An orthophoto plus a surface and a terrain height model, which many land registries publish as open data, street-level photos for the frontage, and the developer’s own building models.
Does a 3D city model need purchased imagery or 3D stock?
Not for this one. The Larnaca twin used Cyprus open data, open 3D props and our own scripts. Check the open-data licence before a commercial launch.
Will a city digital twin run on a phone?
Yes, if it is built for it. Drawing only the cells near the camera cut street-level triangles from 9.4 million to 2.1 million, and phones get a lighter profile at 60 frames per second.
How large an area can be modelled at this detail?
Two areas of about four square kilometres run smoothly. Fifteen square kilometres needs tiling, a few more days of work.
Next step
If you are selling a project whose view is the product, we can show you what its street looks like when it is measured. See how we build digital twins, or Get in touch.
Photo by Hert Niks on Unsplash