Prerequisites / Exception MakeValid Method

Mar 11, 2012 at 11:51 AM

Hey everybody,

when trying to test the rest service I get an exception in function SearchRequest

i.e. MakeValid method for Microsoft.SqlServerTypes.SqlGeography type not found in assembly Microsoft.SqlServer.Types ("Die MakeValid-Methode für den Microsoft.SqlServer.Types.SqlGeography-Typ wurde in der Microsoft.SqlServer.Types-Assembly nicht gefunden.")

Are there any other prerequisites I might have overlooked?

The server on my side is a Microsoft SQL Server 2008 Enterprise Evaluation out-of-the-box.

Anybody has an idea how to solve that issue?

Best regards

Toby

Mar 13, 2012 at 10:48 PM
jefjafjif wrote:

Hey everybody,

when trying to test the rest service I get an exception in function SearchRequest

i.e. MakeValid method for Microsoft.SqlServerTypes.SqlGeography type not found in assembly Microsoft.SqlServer.Types ("Die MakeValid-Methode für den Microsoft.SqlServer.Types.SqlGeography-Typ wurde in der Microsoft.SqlServer.Types-Assembly nicht gefunden.")

Are there any other prerequisites I might have overlooked?

The server on my side is a Microsoft SQL Server 2008 Enterprise Evaluation out-of-the-box.

Anybody has an idea how to solve that issue?

Best regards

Toby

Hi Toby!

Sorry for the late replay... For the usual situation there are no prerequirement except the MS-SQL Server 2012 or 2008 R2..
What did you exactly and what is your setup of your pc/server ? 

Greets from Austria

Christian

Mar 17, 2012 at 9:26 PM

Hey Christian,

Thanks for your reply. Nevermind, it also might be a problem on my installation.

The server is an pretty unmodified SQL-Server 2008 R2, SP 1, Enterprise Evaluation. But even when running the following query in SQL Server Management Studio
SELECT TOP(10) info, latitude,longitude,line.MakeValid().EnvelopeCenter().Lat, line.MakeValid().EnvelopeCenter().Long FROM tTagText LEFT JOIN tNode on tTagText.NodeId = tNode.id LEFT JOIN tWay on tTagText.WayId = tWay.id WHERE FREETEXT(info, 'restaurant')

I'll get the exception
"Die MakeValid-Methode für den Microsoft.SqlServer.Types.SqlGeography-Typ wurde in der Microsoft.SqlServer.Types-Assembly nicht gefunden."

Unfortunately Google doesn't help much on this error :-(

(BTW, there seems to be an small bug in the source code: WayId and NodeId should be replaced by ObjectId imho) 

Greets from Bonn

Toby

Mar 17, 2012 at 10:52 PM
Edited Mar 17, 2012 at 10:54 PM

Hey Toby, Bonn ?

Na dann glaub ich können wir auch auf Deutsch schreiben,.. nachdem die Exception es auch kann ;-).
Darf ich dich fragen, welche OSM Datei du importiert hast ? Und mit welcher Version von osm2mssql du arbeitest ? (Alpha Release oder selbst kompiliert? – Welche Revision?)

Nachdem ich hier immer mit dem neuem 2012 Server arbeite weiß ich leider nicht warum der Fehler bei dir auftritt, habe aber gerade eine VM-Ware Installation an gestartet und versuch das mal zu reproduzieren warum das nicht funktioniert.

Bzgl. dem Bug – wayid/nodeid – Danke fürs melden das waren die letzten Umbauarbeiten letzte Woche werde mir das anschauen.

Mar 18, 2012 at 3:36 PM

Hey Christian,

ich habe versucht, den Geofabrik-Extrakt koeln-regbez.osm in einer selbst-kompilierten Revision 18519 zu importieren.

Beeindruckend finde ich übrigens die Geschwindigkeit an osm2mssql... Da kann die lokale Nominatin-Installation, die ich vor längerer Zeit mal aufgesetzt hatte, bei weitem nicht mithalten..

Viele Grüße

Toby

Mar 18, 2012 at 10:38 PM

Hi!

"nur" Koeln - da dürfte der Import doch innerhalb von ein paar Minuten fertig sein =)...
Passt werde versuchen das nachzustellen diese Woche,.. werde mich gegen Donnerstag/Freitag hin melden ;-). 

Danke fürs "Kompliment" - mein Ziel war immer die Performance sehr hoch zu halten! Ich habe Tage eh nein.. Wochenlange (!) versucht osm2pgsql anständig zum Laufen zu bringen - der Import an sich dauert schon ewig und die Verwendung ist alles andere als "selbsterklärend". Ich bin halt auch ein Windowsianer der sich erwartet, dass man eine *.exe startet und die übernimmt alle notwendigen Schritte. --> Machen wir es selber

Ps.: Danke für die Ideen die du hier gepostet hast, werde sowas in der Richtung mit Sicherheit implementieren ;-) - Habe leider bisher nur sehr wenig Rückmeldungen von den Leuten die osm2mssql schon verwendet haben, und ich bin natürlich doch immer recht neugierig was die Leute machen und was sie sich "wünschen" sag ich mal :-).

Grüße aus Wien

Christian

Apr 26, 2012 at 7:54 PM

I have not looked at the code yet, but SQL 2008 R2 does not have a makevalid for geography types.  It does have a makevalid for geometry types.   There is a codeplex sql 2008 r2  that adds a makevalid for geography types though.   That might be the problem.