[PLUGIN] OpenStreetMap importer

I got missing plugin after add openstreetmap plugin, what can I do??

:smiley:

Got this working in 4.19.1
Turns out the plugin was NOT the problem, just my understanding of github & non compiled source type plugins

steps I follow

Create a new C++ PROJECT don’t think it really matters which template but I used the flying one for reference.
once it loads close it down and go the the root of the project folder and create a folder called plugins
and there create a folder called streetmap and in that you need to drop all the contents of the plugin and make sure they are not inside another folder

should look like this. plugins\streetmap\all the stuff
then try to load up the project again and it will say some dll’s are missing would you like to compile them, CLICK YES.
that’s it.

Important note:
I recently installed The free visual studio IDE community 2017 with UE4 C++ extras
and before I had this installed I don’t think any of this worked because I think its visual studio that’s compiling the dll’s
still new to this area.

I think there is a small change you will have to make to a line of code with 4.20

https://github.com/ue4plugins/Street…42965b27e062ac

hope this helps others that are also new to visual studio and non compiled plugins.

for me is it still not working :frowning:

i change in StreetMapComponent.cpp:
from UNavigationSystem::UpdateComponentInNavOctree(*this);
to FNavigationSystem::UpdateComponentData(*this);

but still no to rebuild.

any idea?

Version 4.20.1

Hello,

first, the plugin is great! :slight_smile:

I started to add showing street names on roads with modyfing C++ source.
I added a new Blueprint callable function “GenerateStreetNames” which creates textrender components to the street map actor.
I can query the location of a given distance of a road, so I succeeded to show the labels.
Im using Road.MakeLocationAlongRoad for position and Road.RoadName for the name.
Where I stopped that setting the correct angle (rotation) of texts… I tried get 2 positions on road and calculating quaternon between two vectors but it doesnt give the correct result…
Any idea how to get the correct angle of roads?
I promise if it works I will commit/push if anyone need this (my final goal is getting similar result as Google Maps works, showing certain types of roads (EStreetMapRoadType) on different zoom levels.

thanks,

Could you please share all the steps you did to get it work?

Thanks for making this plugin, and to those who have been contributing.

I have installed the plugin in 4.19.2 without any problems.

The I have is that many of the buildings are coming in flat. I have attached an image of a section of the City of London where there is lots of open street map information.

Does anyone know what causes this and if there is a way to fix it? I’ve had the same with other cities I’ve tried.

Thanks.

Its because the height information are extracted from the OSM data only and for most building they are missing. If you want to extrude those with a default height, look at the Source/StreetMapRuntime/StreetMapComponent.cpp at line 309:



if (bWant3DBuildings) {
    if (Building.Height > 0) {
        BuildingFillZ = Building.Height;
    }
    else if (Building.BuildingLevels > 0) {
        BuildingFillZ = (float)Building.BuildingLevels * BuildingLevelFloorFactor;
    }
}


Change it to something like:



if (bWant3DBuildings) {
    if (Building.Height > 0) {
        BuildingFillZ = Building.Height;
    }
    else if (Building.BuildingLevels > 0) {
        BuildingFillZ = (float)Building.BuildingLevels * BuildingLevelFloorFactor;
    }
    else
    {
        BuildingFillZ = MeshBuildSettings.BuildingDefaultHeight;
    }
}


and add this BuildingDefaultHeight to the MeshBuildSettings.

Cheers, I will give that a go.

I tested it out myself. See this fork.

Hi!
Of course, I even gladly share my code to GIT if anyone interested in showing street labels.
What Im doing getting RoadNames from plugin data, calculate the world position and rotation, finally generate TextRenderComponents to StreetMapActor.
I added also functionality to call UpdateRoadLabels to show/hide road type labels from various distance/zoom level.

However I want first fix some issues, maybe anyone can help:

  1. The biggest problem I cant package my project, Im getting message cannot open input file libfbxsdk-md.lib and Im afraid its due to OSM plugin.

  2. For large maps, the tons of TextRender components make noticable slowdown, not critical, but remarkable. (For my map, I have 12000 textrender components). Though I added options to generate road names depending on road type, road segment length resultig less labels, but Im not confident. Other solution can be using 2D widgets, calculate location and rotation same way, but instead of adding textrendercomponents, showing 2D label and project world location to screen coordinates, but Im not sure what I win I maybe will loose with that realtime calculations.

  3. Generating fonts for textrenderactor is complicated if you want other than Roboto. You need offline font and create distance field materials and unfortunately at least with 4.19 I couldnt use fonts with accents. English langage maps arent problem but if you use accents or special characters, its a pain.

cheers

OK so I add this question as separate post, maybe others have this problem as well:

Im getting message **cannot open input file libfbxsdk-md.lib **when I want make a 64bit package. Its maybe due to plugin importer part?
Everyone could package without problems?

Hm, I added this code, but for me it just raise level of 2D building plates, but doesnt extrude to get sth 3D… What I missed?

EDIT: ok, there is later a check again for buildinglevel


     if( bWant3DBuildings && (Building.Height > KINDA_SMALL_NUMBER || Building.BuildingLevels > 0 ) )

so I added a boolean if our default building height greater than zero


     if( bWant3DBuildings && (Building.Height > KINDA_SMALL_NUMBER || Building.BuildingLevels > 0 || **bWantExtrude**) )

and modify the original check too:


        else if (MeshBuildSettings.DefaultBuildingHeight > 0)
                    {
                        BuildingFillZ = MeshBuildSettings.DefaultBuildingHeight;
**                        bWantExtrude **= true;
                    }


UATHelper: Packaging (Windows (64-bit)):   [10/11] Link UE4-StreetMapRuntime.lib
UATHelper: Packaging (Windows (64-bit)):   [11/11] Link MarinaPortside419.exe
UATHelper: Packaging (Windows (64-bit)):   LINK : fatal error LNK1181: cannot open input file 'libfbxsdk-md.lib'
UATHelper: Packaging (Windows (64-bit)):   ERROR: UBT ERROR: Failed to produce item: D:\projects\SVN\MarinaPortside419\Binaries\Win64\MarinaPortside419.exe

Link problem solved if I remove PropertyEditor from runtime build cs file:

namespace UnrealBuildTool.Rules
{
public class StreetMapRuntime : ModuleRules
{
public StreetMapRuntime(ReadOnlyTargetRules Target)
: base(Target)
{
PrivateDependencyModuleNames.AddRange(
new string] {
“Core”,
“CoreUObject”,
“Engine”,
“RHI”,
“RenderCore”,
“ShaderCore”,
“PropertyEditor”
}
);
}
}
}

I really appreciate this plugin, it could be a lifesaver cause I need to capture a large expanse of land, but for the life of me I can’t make this work. I have no compiling experience nor the tools to do it.
tried building with RunUAT.bat, tried packaging the plugin within ue4.21, and 4.19.2, failures and red lines, and requirements of visual studio.
I can’t help but ask why it can’t be packaged and ready to go at different point releases as a github download, I’m out of my depth making git pull requests or compiling C++ with dependencies and 101 install module options, I’m installing visual studio 2017 totalling 4gb on my os that will be used once. I’m so close to getting where I need to be but yet so far, 1 day in and a deadline pressuring me out of having the time to sit and learn exactly what I need to do. Is anyone able to disambiguate the ‘C++ Code project’ step, and where I build this plugin?

Hi everyone, I thought I would share some images from a project I did recently using the open street map plugin.

Derry city in Northern Ireland is participating in the European Digital Cities Challenge. For a public workshop we created a digital model of Derry showing where the key stakeholders are located. This was presented to members of the public as a VR experience where they could teleport around the city and see all the locations of the key companies contributing to the challenge.

Here is a short video captured from the model:

Thanks to @Dark-Veil for creating this great plugin. Thanks also to @MaSe87 and others who have made updates to it.

Hi guys! Where can I download the working version of this plugin? And will it works with UE 4.21?

Is this still alive?
I need this but does it work today?
I can’t find any recent update.

@dara059: what version did you use ?

Nothing?
No one alive on this project ?

I really would love to know what “older” version of the Unreal Engine I need to install to get this going.
I tested alot of different ones now, and the message I got is: Compiling Error, try compile project manually.

if there is someone out there, please share !

I’ve got it to work following these steps Can't compile in 4.21.1 Windows 10 · Issue #60 · ue4plugins/StreetMap · GitHub
4.21.2 and VisualStudio 2017