Avatar billede mydream Nybegynder
21. december 2005 - 22:33 Der er 19 kommentarer og
1 løsning

Afstande mellem postnumre

Jeg skal have lavet en beregning der viser afstanden mellem 2 indtastede postnumre, og jeg faldt over dette spørgsmål: http://www.eksperten.dk/spm/393524#rid3795810 men da spørgsmålet er temmelig gammelt, kan jeg ikke blot tage det op igen. Jeg kan ikke få scriptet til at virke, og det er måske fordi jeg ikke har nogen anelse om, hvad excel har med det at gøre.

Hvad kan jeg bruge den angivne url til?

Hvis jeg kunne få alle afstandene lagt ned i egen database (der er næsten 200.000 afstande) hvor meget ville det så mon fylde i mb i en sql database?
Avatar billede Slettet bruger
22. december 2005 - 05:22 #1
Du skal ikke bruge alle 200.000 afstande, du skal bruge et punkt (koordinat, helst UTM32 WGS84 for så ser jorden flad ud) for hver postnummer. Dette kan erhverves hos eksempelvis Krak eller du kan skabe dem selv. Efterfølgende bruger du Pytagoras sætning til at beregne afstanden mellem de to punkter.

Der er bare et problem omkring afstand mellem to postnumre og det er præcision. Præcisionen bliver dårligt da et koordinat i en irregulær polygon, som et postnummer er, ikke kan defineres præcist. Hvis de ikke er lavet manuelt risikere man at de geometriske centrum ligger uden for centrum. Derfor vil de fleste også advare mod en sådan løsning netop fordi den er meget upræcis så der er grænser for hvad det kan anvendes til.

Man kan selvfølgelig også manuelt prøve at forholde sig til hvorlangt der er men det giver IMHO ikke nogen mening. Man skal bare accepterer det upræcise vel ovenstående løsning eller også skal man finde en anden. Og det vil være adresse til adresse, hvilket iøvrigt kan købes som Web service hos Krak.
Avatar billede h7iws Nybegynder
22. december 2005 - 06:09 #2
Du kan jo evt. bruge krak, nu ved jeg ikke lige hvad det er du skal bruge resultatet til, men med krak kan du få en meget præcis afstand mellem to gader (i to forsk. byer)
http://www.krak.dk/GRIDS/subPAGES/routedescription.asp?Tagning=3.1_RutP_Mell%2FKN_Forts1&fhusnr=&thusnr=&vhusnr=&fvej=&tvej=&vvej=&fpby=9800+Hj%F8rring&tpby=9330+Dronninglund&vpby=&rx=565565%2C583391&ry=6371277%2C6339989&kunde=&fvnr=565565%2C6371277&tvnr=583391%2C6339989
se under afstand midterst på siden ...
Avatar billede h7iws Nybegynder
22. december 2005 - 06:13 #3
Er ikke lige helt inde i det der ASP, men jeg tror måske at han har hentet database ned på den måde, han skriver: "Til dem der selv ønsker at hente afstandende så er der her et script til MS Excel som henter afstandende (Kræver ASPHTTP objectet)" ... men det ved jeg ikke ..
Men hvis det er kan jeg måske godt finde ud af at hente den ?
du kan evt. skrive til mig på q@has.dk
/smil
Avatar billede mydream Nybegynder
22. december 2005 - 08:55 #4
Kryptos. Det er ikke vigtigt for mig, at beregningen er 100% præcis. Indenfor 5-10 km. er rigeligt præcist til mig. Men når du skriver at jeg kan få koordinaterne hos Krak, mener du så også at det er en købeservice?

h7iws, jeg skal KUN bruge afstanden i km, da det skal være muligt for mine brugere i et søgeresultat, at angive en maks afstand fra deres hjem og til det de søger efter.

Jeg vil naturligvis sætte stor pris på, hvis du forsøgte at hente de data, han snakker om. Jeg kan ikke engang se af scriptet, hvad resultatet vil blive.
Avatar billede Slettet bruger
22. december 2005 - 09:00 #5
Det er en købs service, men den burde ikke koste mange basseøre, ved ikke om man kan få dem på andre måder, så skulle det være hos KMS (Kort og Matrikelstyrelsen).

Det bliver lidt vanskeligt med 5-10km ville jeg tro, specielt ved det lidt større postnumre ude på landet.
Avatar billede h7iws Nybegynder
22. december 2005 - 12:25 #6
ok, ser lige på det, skriver tilbage når jeg har fundet ud af noget ...
Er der nogen bestemt syntaks du ønsker det skal komme ud i?
Avatar billede mydream Nybegynder
22. december 2005 - 13:15 #7
h7iws.
Gerne i rækker med postnummerfra postnummertil kmafstand
Avatar billede h7iws Nybegynder
22. december 2005 - 13:18 #8
ok, er i gang med det, siger lige til hvis jeg finder ud af noget!
/smil
Avatar billede mydream Nybegynder
23. december 2005 - 14:42 #9
h7iws.

Det behøver jo ikke at inkludere excel. Brugeren skal bare kunne angive sit postnummer og jeg et andet postnummer, og så skal resultatet bare fremkomme. Alternativt skal alle afstande lægges i en ny tabel. (hvis den ikke fylder for meget)
Avatar billede h7iws Nybegynder
24. december 2005 - 00:34 #10
hmm .. det der med at bruge krak .. det har lidt nogle problemer, nogle af postnumrene og den gade der hører til, hvis man kører dem gennem krak er der altså ved nogle af dem at den spørger om hvilken vej man mente, f.eks.
fra Acaciavej 1867
til Allinge 3770
(noget helt andet er at man slet ikke kan køre den tur)
Det vil derfor kræve at jeg kigger alle 1135 postnumre igennem for at vælge dem en efter en ...
Måske det er nemmere at sætte en asp-server op og køre det script han lavede ham du refererede til!?!?
Eller måske du kan få ham til at sende det han fandt ?!?!
(så skal jeg nok hjælpe med at formatere data'et hvis det er)

/smil
Avatar billede Slettet bruger
24. december 2005 - 05:48 #11
Nu har jeg et relativt indgående kendskab til hvordan den service fungerer hos Krak og du kan ikke bruge den på den måde du prøver h7iws og det nytter ikke at gå gemme 1135 du kan bare for underholdningens skyld søge på Kirkevej i 4000 og sådan er der rigtigt mange tilfælde, så man kan ikke gøre det sådan.

Noget helt andet og det er nok mere til dig mydream, hvis du baserer en service på noget du screenscraper og som du ikke har en forudgående aftale omkring så vil jeg ikke håbe for dig at det er en service, som er vigtig for din virksomhed. Problemet er jo at den kan forsvinde eller blive lavet om uden at du har nogen mulighed for at opdage det andet end at ups, nu virkede din service ikke mere. Det er ikke smart at leve på den måde og undskyld mig seriøs forretning baseres ikke på sådant et grundlag.

Jeg kender ikke helt præcist prisen for en reel service hos Krak, men jeg ved at den består af en adressevalideringsservice således at du har fået bestemt præcist hvilken adresse der er tale om (præcis problemet h7iws har med at "låne" servicen) og dernæst et kald til en service som beregner ruten og dermed afstanden. Det ville, hvis det handler om for eksempel kørselsberegning den bedste service du kan have.

Men for nu at komme tilbage på sporet, hvad er det reelt du har behov for at lave. Du siger godt nok postnummer til postnummer, men er det nok til din service? Kan du ikke fortælle hvad det forretningsmæssigt er du skal lave.
Avatar billede mydream Nybegynder
24. december 2005 - 09:39 #12
Jeg har en hjemmeside med attraktioner. Som det er nu, kan man søge i attraktionerne ud fra landsdel og postnumre, men jeg synes jo det kunne være meget mere relevant, hvis man kunne indtaste sit eget postnummer (eller postnummeret, hvor man skal i sommerhus)og så vælge f.eks. kun at ville køre max. 60 km til attraktionen.

kryptos, jeg ville nu ikke kun screenscrape som du siger, men køre et loop der lægger informationerne i en lokal database, så jeg altid har den.

Jeg har ikke nogen annonceindtægter pt, og kan derfor ikke købe en service. Det kommer måske på sigt, men det er nu jeg har ambitionen om at lave en super god side, så derfor vil jeg ikke helt opgive. Så vidt jeg forstår scriptet (hvilket er begrænset) så kan det lade sig gøre at sende nogle formularfelters indhold til en fremmed hjemmeside og hente resultatet ind på sin egen side.

Og hvis jeg har forstået det korrekt, så bør det jeg ønsker jo også kunne lade sig gøre.

Jeg sad og kogte scriptet ned til:


dim Bynavn
Bynavn = "Middelfart"
dim Bynavn2
Bynavn2 = "Haderslev"

function test
Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HttpObj.Url = "http://www.trafikken.dk/vejafstande.asp?action=LISTE&page=dept&objno=1000005487"
HTTPObj.PostData = "By1=" & Bynavn & "&By2=" & Bynavn2 & "&BMetode=h&SB=Beregn%20afstand"
HttpObj.RequestMethod = "POST"
strResult = HttpObj.GetURL
response.Write(strResult)
SET HTTPobj = nothing
end function

------

lavet udelukkende for at få princippet til at virke. Men da jeg aldrig har hørt om asphttp før for et par dage siden, så kan jeg ikke se hvorfor det ikke virker.

glædelig jul til jer natteravne. :)
Avatar billede Slettet bruger
24. december 2005 - 09:43 #13
Ok, hvorfor prøver du ikke at sende en stille og rolig mail til trafikken og spørger om det er noget de kunne hjælpe med.

Check WinHttp i stedet for AspHTTP (har du overhovedet AspHttp installeret)
Avatar billede mydream Nybegynder
24. december 2005 - 10:35 #14
Kryptos, ja jeg har asphttp på serveren. Hvad kan winhttp som den anden ikke kan?

Måske du har ret at jeg bare skal prøve at spørge dem.
Avatar billede Slettet bruger
24. december 2005 - 10:38 #15
WinHttp er bare gratis direkte fra MS så det er bare lidt lettere end at skulle installerer 3. part men hvis du har det så det jo fint nok.
Avatar billede mydream Nybegynder
24. december 2005 - 10:41 #16
Nu har jeg skrevet til dem, men af hensyn til min nysgerrighed, hvad er der så galt med min function, siden den ikke giver et resultat?
Avatar billede mydream Nybegynder
25. december 2005 - 22:35 #17
Jeg kom lige til at tænke på om sådan en screenscraper egentlig er lovlig. Jeg ved godt at jeg manuelt kan sidde og hente de samme informationer, men er der forskel?

Og kan jeg ikke knække deres server ved at loope sådan et script alle de gange, jeg har brug for det?
Avatar billede Slettet bruger
26. december 2005 - 06:59 #18
Man må ikke screen-scrapesådanne informationer uden at have fået lov. Og du må heller ikke gøre det manuelt, da der ikke er nogen forskel i forhold til hvorfor du ikke må stjæle deres information. Det er deres information, som de enten har købt eller brugt tid/penge på at etablerer og det må man ikke bare tage fra andre uden forudgående at have fået lov.

IMHO, er det også dumt set fra et forretningsmæssigt syns punkt at baserer sin forretning på noget man har stjålet. Ens service kan forsvinde lige så hurtigt, som den kom, hvis de retmæssige ejerer finder ud af det.

Med hensyn til hvorfor din ting ikke fungere. Har du prøvet at checke hvilken HTTP-status kode der kommer tilbage og om de parametre du sender er de rigtigt?
Avatar billede mydream Nybegynder
26. december 2005 - 10:01 #19
Hej Kryptos.

Ja det tænkte jeg nok. Nu har jeg fået det til at virke med et loop, så nu ville jeg faktisk bare kunne hente alle deres informationer og så gemme det hos mig i en tabel. Men jeg ville også selv blive tosset, hvis der var nogen der stjal mine informationer på den måde, så jeg har skrevet og spurgt dem om lov.

Jeg vil meget gerne dele pointene mellem jer, da I begge har forsøgt at hjælpe mig med problemet.
Avatar billede beelance Praktikant
15. januar 2009 - 16:51 #20
Hey mydream, fandt du en løsning på problemet? jeg er selv ude efter at kunne tilføje en sådan en finde afstands funktion i et script nemlig :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester