Importing Shapefiles (shp) to SketchUp (skp)

shp
sketchup

#1

Hey Everyone,

I’m working on a neighborhood master plan using SketchUp Pro (2018), Google Earth, Google My Maps, QGIS, the City of Detroit Open Data Portal, Loveland Technologies, etc.

I’ve spent like 2 days now trying to get a geographically to-scale shape file of all of the parcels in the neighborhood to import as a basemap into sketch up and I can’t for the life of me make it work.

The most direct plan was to open the SHP in GQIS and export as DXF to desktop and then import into SketchUp. Most of the time it just says import failed, but sometimes I’ll get it to import a bizarre smashed up star looking thing (maybe there’s an error that’s making a cluster of all the shape files stacked on top of each other?). Interestingly, If I open the DXF file up in AutoDesk viewer the actual parcels in the SHP appear to work just fine, but I can’t download it from AutoDesk so there’s nothing I can do with it.

I have a free student license for AutoCad, but I’m supposed to renew it, but can’t get it to work.

I’ve also tried exporting the files as KML from Loveland into Google Earth, then saving as KMZ, but SketchUp says import failed every time I try to open it up in SketchUp.

Can anyone please help? I’m desperate here


Shape files in SketchUp
#2

There is a “beta” shp importer for SketchUp that was developed by jimhami42

Give this a try. Hopefully, it will help with our project.


#3

I just tried it, but it doesn’t appear to be doing anything? Here’s what shows up on my screen. It pauses for a second when I click okay as if it’s doing something, but then nothing happens? Should I be changing anything in the import parameters?
41 AM48 AM


#4

Geometry might be created far from the origin. After running the extension…

If you zoom extents, what shows up?
If you open the Entity Info dialog and then use Edit > Select ALL, what shows up in the entity info dialog?

Can you share the shp file?

CD


#5

When i click soon extents, it zooms out a tiny amount and that’s it. I still don’t see anything

Wait… I just tried it again - holy ■■■■ I think it worked!!!

The sizing is off though - I’m attaching the file and a screenshot of the working model with one parcel labeled with what the dimensions ought to be!

24 PM|690x382

40 PM|487x500northend-2.zip (1.1 MB)


#6

I can’t see your screenshot, but probably it is just about putting the right number in the Scale box in @jimhami42 's dialog box.


#7

As long as the everything is proportionally correct, it is really easy to correct it using the tape measure tool.

Could you attach the sketchup model again? It didnt come through in the previous attachment.


#8

Here it is! I can’t get it to resize properly - any tips?

I also don’t know why I can’t see it - maybe it’s too big to upload?

I just uploaded it into google drive in case it’s not showing up through the built in upload feature on your end either. here’s a link to it https://drive.google.com/file/d/1lHc85mUjWc6LEPAMVOL2kPh4hMgvQBlc/view?usp=sharing


#9

Okay, something weird has happened to the model. Maybe something to do with projections? The dimensions aren’t lining up.

The 4th and 5th images are in Google Earth. The solid white boxes are what I managed to get to import into SketchUp. The white outlined parcels that aren’t filled in are the KML files from Loveland into Google Earth (which I believe are the correct shape and location.

What do I do?

H


#10

Yes, it looks like the results from the shp importer are skewed. I would reach out to the developer and see what he has to say. He can be quite responsive.

CD


#11

@tysongersh - Chris is correct. The shapefile importer uses the data in the shapefile “as is” … there is no attempt to make any assumptions about the coordinate information. The x and y coordinates are unscaled and used “raw”. Your shapefile appears to contain the various lots registered (as opposed to the buildings that sit on them). I imported the file using a scale factor of 10000 which (as shown by the Ruby console) doesn’t skip any “tiny geometry”. The imported groups are created in inches, but can be scaled to any size needed by selecting all the groups and scaling them all at once.

For your data, I imported a satellite view from Google Maps and first scaled the X (longitude) until the angle of the lots matched the map. Then I used the x/y scale to adjust the size of the groups. With some finagling, I ended up with the lots aligning with the streets of the image:

At this point, the tape measure can be used to set the distance in the attached model: NorthEnd.zip (2.0 MB)


#12

That image looks really nice - definitely a great step closer to the end goal.

I was able to increase the size of the parcels all together using the measuring tape along the shorter size of the 40’ x 100’ parcel, but I think something is off about the ratio because when the short side is 40’/480" the long size is only 99.8’/1198.18" - does that mean I need to just stretch the whole model in one direction to increase the length by that .15 inches?

When I imported it into Google Earth it attempted to place the parcels near Hayden Lake Colorado - though no actual image of the parcel actually showed up - I assume this location is the default for all non geotagged (or whatever the proper term is) KMZ files go to or something.

I went back to the SketchUp file and tried to add the location again I couldn’t get the parcels to align properly with the satellite image - you’ll see that even when the left/west side of the parcel grid is aligned with Woodward, the other streets don’t line up?

What I don’t get it how they line up so well through the KML files - but can’t get them to do the same with a file that can be used as a base parcel map in SketchUp?

For convenience, The actual neighborhood boundaries can be found in this map I made: https://north-end.sitecontrol.us/m/north-end-zoning-map

The address of the parcel in the lower left hand corner (which is how I usually orient something) is 7300 Woodward Ave. Detroit, MI 48202.


#13

Okay, so I manually finagled with the add location feature a bit more and I was able to get the SketchUp file to more closely match the KML file landing. The white parcel boxes are the KML from Loveland and the see through pink tinted squares are the Sketch Up file. You can see that they still don’t quite line up, specifically the pink shapes are a little higher up and there’s a gap along the bottom of each white box - is there anyway to get them to legitimately line up (aka remove the human error part?)


#14

Still trying to get this SketchUp file to line up with the KML Parcel Grid. I’m finding it very difficult. If I could just find a way to add a shape or a couple points to the google earth file while viewing the parcel grid and import it into SketchUp I’d have a reference to line it up with, but I can’t seem to add anything that imports. Any suggestions here?

I think part of my problem is that the dimensions aren’t consistently off in any one direction - I just went through and measured 4 parcels in each of the corners of the overall parcel grid and determined the percentage difference between measured dimension and real world dimension to see what direction things were off in and there’s doesn’t seem to be a pattern? Thoughts? See image

I also noticed that the actual lines of the shape files aren’t completely perpendicular to each other at the point that they intersect - is this the result of the curvature of the earth or something? If you look really really closely you can see they curve right before they T into one another

I’m sorry for asking so many questions, but I am really trying to get this basemap perfected, because it will inform everything else. I’ve gotten the southeast parcels as aligned as I possibly can - and they aren’t noticeably off - but the minor offset over the course of 2 miles results in a nearly 30’ offset by the time you reach the parcels in the northeast corner - the curvature of the earth would only account for roughly 16 inches of offsetting over 2 miles, so I’m really hoping to figure this out.

Here’s a link to a folder with all of the files I currently have: https://drive.google.com/drive/folders/1hhrwFzhI4BH6Zpcxhveup9-MJTPCLA0p?usp=sharing

And just to give you a sense of what my goal outcome is for the baseman, here’s one of the structures of the 1000+ in the neighborhood that I plan to populate the base map with (which only works if the parcel dimensions are accurate)


#15

When you run the import, the minimum and maximum values are displayed:

image

Assuming that these are GPS coordinates, you can use them to set placemarks in Google Earth at:

(lower left) 42.37051893972345N / 83.08845253906468W
(lower right) 42.37051893972345N / 83.06127234943459W
(upper left) 42.398680858963964N / 83.08845253906468W
(upper right) 42.398680858963964N / 83.06127234943459W

Using the ruler in Google Earth, you can determine the flat distance between placemarks:

Width: ~88141.41 inches
Height: ~123158.58 inches

Selecting all groups, you can use the scale tool to set the east-west width to 88141.41 and the north-south height to 123158.58 inches. Moving the lower-left reference to the origin, you can then set the geolocation in SketchUp to the same reference. Exporting it as a KMZ file, you can then import it into Google Earth:

This should be more accurate:

Not sure about the specific plot measurements, but you can check them …

Model: NorthEnd_3.zip (981.9 KB)

KMZ file: NorthEnd.kmz (689.4 KB)


#16

When I have a chance, I’ll see about modifying the import to correct for the linear translation of degrees to coordinates … you’re correct in that there should be a way to remove the human error part :slight_smile:


#17

I would be so incredibly grateful if you could. I have a feeling it would save me hundreds of hours of work as I begin to populate the map with 3D models


#18

I found that if I create a 5,280 foot by 5,280 foot square and export it as a KMZ file. It becomes ~5,288 feet East-to-West and ~5,269 feet North-to-South when imported into Google Earth (Pro). The KMZ file contains a DAE model with a 63,360 inch by 63,360 inch square (1 mile per side), so this would indicate that the transformation occurs when importing it into Google Earth. It also means that any geometry you create in SketchUp will be stretched or compressed … but only by a couple of a percent.

I’m not quite sure how to correct for this …


#19

I have someone trying to help from the city office itself and they just asked the following: “Can you figure out what projection sketchup uses? I can change the projection on my export. I’m thinking that’s the issue with the 30’ offset.”

Any chance anyone has any idea?


#20

As I noted in my previous post, the KMZ file exported by SketchUp is in linear inches with no correction/projection (i.e., it is a “Flat Earth” projection). When importing it into Google Earth, the dimensions change slightly. For Detroit, a mile squared becomes slightly longer E/W than N/S. This is more of a question of how does Google Earth change the linear into projected data.