Toon posts:

[GIS] 3D vector kaart van de aarde (DEM)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een programma wil ik graag kaartjes genereren aan de hand van lengte breedte graden. Nu is dat opzich geen probleem, maar ik wil het ook in 3D, met hoogte lijnen of iets dergelijks :)
Nu weet ik dat er gratis datasets zijn, zoals bijv. op:
- http://www.ngdc.noaa.gov/seg/topo/globe.shtml
- http://edcdaac.usgs.gov/gtopo30/gtopo30.html
- http://geoengine.nima.mil

Maar de data die je hier kan downloaden is niet echt toegankelijk. Het is óf in DEM (Digital Elevation Map) formaat (waar ik niet echt veel mee kan), of het is in een ander vaag formaat dat niet in te lezen is.

Nu is mijn vraag: zijn er tools om deze data toch in te lezen (liefst in VB), of is er nog ergens een dataset te vinden dat wél makkelijk in te lezen is, en bovendien ook nog gedetaileerd is.

PS Nog wat leuke linkjes die ik op m'n zoektoch tegen ben gekomen:
- Gratis software: http://freegis.org/geo-data.en.htm
- Gratis software: http://opensourcegis.org/
- Plaatsnamen + coords: http://164.214.2.59/gns/html/index.html
- Coordinaten converten: http://164.214.2.59/GandG/geotrans/geotrans.html

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-08 10:39

Janoz

Moderator Devschuur®

!litemod

AFAIK zijn die datasets die je daar kunt downloaden gewoon raw 'heightmaps'. Gewoon ongecomprimeerd met een bepaald aantal bytes per positie (zal wel 1 of 2 zijn). Een parser daarvoor schrijven lijkt me niet al te moeilijk, probleem is eerder wat je er vervolgens weer uit wilt hebben (das nu nogal ongespecificeerd. "met hoogte lijnen of iets dergelijks" is natuurlijk niet al te duidelijk)

(hmm.. als ik die bestanden probeer down te loaden gat er volgens mij iets mis.. Het lijkt erop dat IE het gzipped herkend en het al uit gaat pakken voordat het opgeslagen is. Maakt de download wel lekker snel, maar het is op de HD geen zipfile meer)

[ Voor 25% gewijzigd door Janoz op 04-03-2003 13:41 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz schreef op 04 March 2003 @ 13:39:
AFAIK zijn die datasets die je daar kunt downloaden gewoon raw 'heightmaps'. Gewoon ongecomprimeerd met een bepaald aantal bytes per positie (zal wel 1 of 2 zijn). Een parser daarvoor schrijven lijkt me niet al te moeilijk, probleem is eerder wat je er vervolgens weer uit wilt hebben (das nu nogal ongespecificeerd. "met hoogte lijnen of iets dergelijks" is natuurlijk niet al te duidelijk)
Het liefst wil ik een vector kaart waar de hoogte verschilllen met kleuren worden gecodeerd (rood = hoog, blauw is laag ofzo). En dan het allerliefst ook nog dat de gebruiker kan inzoomen, dus eerst een heel globaal beeld, en dan langzaam aan gedetaileerder.
Maar als het een heightmap is, dan is het dus alleen mogelijk om op 100% een mooi plaatje te genereren, en anders krijg je vertekeningen. Dat zou niet echt mooi zijn...
Maar ik zal wel ff kijken of ik zo'n parsertje in elkaar kan knallen :).
(hmm.. als ik die bestanden probeer down te loaden gat er volgens mij iets mis.. Het lijkt erop dat IE het gzipped herkend en het al uit gaat pakken voordat het opgeslagen is. Maakt de download wel lekker snel, maar het is op de HD geen zipfile meer)
Rechts klikken en dan "save target as..." werkt hier prima.

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
echt moeilijk om van een heightmap naar een 3d model is het toch niet? elk pixeltje is een vertex en maar connecten . In lightwave (7.5) kun je een displacement erop loslaten en het object saven... (wel effe je vertices met pixels alingen). Met hoogtelijnen is al minder eenvoudig maar je kun daar een MarchingCubes (met intersectie) op loslaten... asl je definitie goed is ga je ineens naar smooth vector graphics. Dit laatste is natuurlijk wel niet ZOO simpel :)...

  • Korakal
  • Registratie: Oktober 2001
  • Laatst online: 09:42

Korakal

Up up up!

Welke software heb je zelf wél beschikbaar? Ik zie bijv. bij de 1e link vermeld staan dat je het in ArcView/ArcINFO formaat kunt inlezen. ArcINFO kan voor zover ik mij herinner DEM's genereren.
Verder kun je bijv. met MapInfo (wat ik zelf veel gebruik) ook 3D modellen maken en die evt. weer exporteren naar een 'universeel' formaat.

Verwijderd

Topicstarter
Het liefst heb ik de kaarten in m'n eigen programma (in VB). Alleen als dat echt niet mogelijk is, dan moet ik een of ander componentje gebruiken (die zijn zo verschrikkelijk duur :( ).

Inmiddels ben ik ook http://www.maproom.psu.edu/dcw/ tegengekomen waar je van alles in vector formaat kan downloaden. Ook in ArcView formaat met hoogte informatie. Dat ArcView formaat is nog redelijk makkelijk in te lezen, en d'r zijn vast wel tooltjes om dat automatisch te doen. Dus dat is evt. een optie.

  • Korakal
  • Registratie: Oktober 2001
  • Laatst online: 09:42

Korakal

Up up up!

Verwijderd schreef op 04 March 2003 @ 19:05:
Het liefst heb ik de kaarten in m'n eigen programma (in VB). Alleen als dat echt niet mogelijk is, dan moet ik een of ander componentje gebruiken (die zijn zo verschrikkelijk duur :( ).
Op m'n werk gebruiken wij daarvoor MapX en MapBasic, zoiets zoek je dus maar dan gratis? (ik vrees dat dit erg lastig wordt) Als ik het goed begrijp wil je een dynamische koppeling tussen de geodata en je VB programma?
Inmiddels ben ik ook http://www.maproom.psu.edu/dcw/ tegengekomen waar je van alles in vector formaat kan downloaden. Ook in ArcView formaat met hoogte informatie. Dat ArcView formaat is nog redelijk makkelijk in te lezen, en d'r zijn vast wel tooltjes om dat automatisch te doen. Dus dat is evt. een optie.
Je zou eigenlijk dus de whitepaper van het ArcView formaat moeten hebben.... kijk eens op http://www.esri.com/library/index.html

Verwijderd

Afbeeldingslocatie: http://www.antoniuscollege.nl/~jsikkes/10min.jpg
Hoe hoger, hoe roder

Kostte me 10 minuten om data op te halen en programma'tje (8 regels) elkaar te gooien.

[ Voor 19% gewijzigd door Verwijderd op 05-03-2003 02:02 ]


Verwijderd

Data heb ik opgehaald op:

http://zenith.ngdc.noaa.g....pl/seg/topo/customdatacd
file title : Nederland test
data type : integer
file type : binary
columns : 720
rows : 840
ref. system : lat/long
ref. units : deg
unit dist. : 0.00833333333
min. X : 3.9999999984
max. X : 9.999999996
min. Y : 48.9999999804
max. Y : 55.9999999776
pos'n error : unknown
resolution : unknown
min. value : -6
max. value : 900
value units : meters
value error : unknown
flag value : -500
flag def'n : none
legend cats : 0
Kortom in het bestand zitten gewoon 720x840 ''Pixels", in 16 bits-integers


Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Dim fp As Integer
    fp = FreeFile
        
    Dim i As Integer
    Dim x As Long
    Dim y As Long
        
    Open "c:\blaat.img" For Binary As fp
        For y = 1 To 840
            For x = 1 To 720           
                Get fp, , i
                PSet (x, y), i / 2
            Next x
        Next y
    Close fp

[ Voor 3% gewijzigd door Verwijderd op 05-03-2003 02:10 ]


Verwijderd

Topicstarter
Verwijderd schreef op 05 March 2003 @ 02:09:
Data heb ik opgehaald op:

http://zenith.ngdc.noaa.g....pl/seg/topo/customdatacd

Kortom in het bestand zitten gewoon 720x840 ''Pixels", in 16 bits-integers

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Dim fp As Integer
    fp = FreeFile
        
    Dim i As Integer
    Dim x As Long
    Dim y As Long
        
    Open "c:\blaat.img" For Binary As fp
        For y = 1 To 840
            For x = 1 To 720           
                Get fp, , i
                PSet (x, y), i / 2
            Next x
        Next y
    Close fp
_/-\o_ Je bent een held! _/-\o_

Ik wist niet dat het zo makkelijk was! Echt fantastisch! Hier ga ik zeker eens naar kijken!

Alleen zal dit natuurlijk niet echt snel gaan, maar dat is een ander probleem...

Korakal: Dat MapX ziet er prachtig uit, maar dat kost wel een klein beetje teveel... Het is voor een hobby projectje...
Pagina: 1