Code Monkey home page Code Monkey logo

geodms's Introduction

GeoDMS

Geographic Data & Model Software (GeoDMS) is a platform for developing Geographic Planning Support Systems. Where fast generic, landuse modeling and routing algorithms are implemented in C++ and exposed through the GeoDMS scripting language.

Downloading and getting started

Recent GeoDMS versions can be downloaded from the release page of this repository.

If you are new to GeoDMS, the GeoDMS academy will guide you through some of the basic features of the language. For the full documentation of GeoDMS, including additional examples, see our wiki or geodms website

Compilation

Build instructions for GeoDMS can be found at our wiki compilation page or our web-site. For a technical overview of the GeoDMS software, see readme-dms.MD in the GeoDMS source code root folder, or here

Terms of use

This open source software; you can use, redistribute, and/or modify it under the terms of the GNU General Public License version 3 (the License) as published by the Free Software Foundation.

For redistribution consult the GNU GPL3 license at LICENSE.md or https://www.gnu.org/licenses/gpl-3.0.en.html

Contact

Feel free to contact us for support on landuse modeling, transport modeling or geographic scientific computing.

Object Vision b.v. Email: info(at)objectvision.nl Phone: +31-20-598.9083 Location: 1081 HV AMSTERDAM - the Netherlands - De Boelelaan 1085 room F538 Website: https://objectvision.nl

geodms's People

Contributors

maartenhilferink avatar eoudejans avatar jipclaassens avatar mtbeek32 avatar erikthehero avatar

Stargazers

Josep Espasa avatar  avatar  avatar  avatar dudu sama avatar  avatar  avatar

Forkers

erikthehero

geodms's Issues

Fix default gui state

On opening the new gui for the first time, a default gui state is setup and stored in registry. This default state does not create appropriate docking relations between geodms windows.

rood item, terwijl de rode items ogenschijnlijk niet gebruikt worden

table view op:
/Analysis/Ref_Abidjan_Ouagadougou/Indicators/TransportPerformance/Limit_90min_120kmEucl/TP_g

geeft na enkele seconden rode tabel met: Link_impedance: undefined values not allowed

Maar niet via F2 of detailpages te tracen naar probleem.

Door klikken naar:
/Analysis/Ref_Abidjan_Ouagadougou/Network/Combine_OrgDest/Imp_Original
Laat zien dat de not-flood (=Original) impedence wel rood is. Mogelijk vindt GeoDMS het leuk dat dat item rood is, terwijl deze ogenschijnlijk niet gebruikt wordt.

ovsrv6:
C:\ProjDir\Jip\geodms_africa_cusa2_issueGH82\trunk\cfg\africa.dms
/Analysis/Ref_Abidjan_Ouagadougou/Indicators/TransportPerformance/Limit_90min_120kmEucl/TP_g

geodms 8.6.3

Check Failed Error: avu->UnifyValues(svu, "", "", UnifyMode(UM_AllowDefaultLeft))

FullName /Analysis/Ref_Praia_Dakar_Abidjan/Network/Network_Original/LinesToConnect/Speed
FailState DetermineState Failed
FailReason Check Failed Error: avu->UnifyValues(svu, "", "", UnifyMode(UM_AllowDefaultLeft))
C:\dev\GeoDMS\tic\dll\src\TreeItem.cpp(2189):

This seems to be a GeoDms internal error; contact Object Vision or report this as issue at https://geodms.nl/mantis

OVSRV6:
C:\ProjDir\Jip\geodms_africa_cusa2_issueGH81\trunk\cfg\africa.dms
/Analysis/Ref_Praia_Dakar_Abidjan/Network/Network_Original/LinesToConnect/Speed

Crash op connected_parts

OVSRV6
C:\ProjDir\Jip\NetworkModel_EU_issueGH3\cfg\main.dms

ctr+D op /SourceData/Infrastructure/Read_Final_Network/Opschoning/ConnectedParts/PartNr
geeft crash

new function poly2grid_untiled

See #12 .

as poly2grid, but directly on shadow_tile.
Will take longer and use more memory, but less CPU time and results independent from actual tiling.

New feature: create bookmarks in gui

The used should be able to create bookmarks on a specific configuration. These bookmarks could be implemented as buttons. When clicked, geodms state is changed to the state of the bookmark. The state encompasses:

  • open views and their position
  • for every view, the cursor position (tableview) or zoom and extent (mapview)
  • DetailPages: active page

coordinaat conversie geeft crash

attribute Geometry_BP (arc) := Geometry[BaseProjection];

resulteert in crash

OVSRV6:
C:\ProjDir\Jip\geodms_africa_cusa2_issueGH80\trunk\cfg\Africa.dms

map view of table view op:
/SourceData/Roads/OSM/Algeria/inFile/geometry_bp

in 8.6.3

xml crash gml_Polygon/srsDimension

OVSRV6
C:\ProjDir\Jip\BAG-Tools_issueGH10\cfg\BAG20_Xml2FSS.dms

crash bij ctrl+D op
/xml/ligplaats/ParsedXML/Objecten_ligplaats/gml_Polygon/srsDimension

In 8.6.3

Graphview window

Make use of implot to allow GeoDMS users to plot data in various ways and get more insight in how to best use (new) data in their models.

meer tiles in tiledunit geeft verschil, en daarmee ook tussen tiled en untiled

unit<spoint> monolith :=
	range(
		 gridset(
			 rdc_meter
			,point(-gridsize, gridsize, rdc_meter)
			,point(y_max, x_min, rdc_meter)
			,spoint
		)
		,point(0s, 0s)
		,point(nr_rows, nr_cols)
	),	DialogData = "rdc_meter";
	
// unit<spoint> tiled := TiledUnit(point(1024s, 1280s, monolith)); //25m
unit<spoint> tiled := TiledUnit(point(768s, 768s, monolith)); //100m
	
// unit<spoint> domain := tiled
unit<spoint> domain := monolith

poly2grid(geometry,domain) op item: /geography/RegioIndelingen/Gemeente2019_single/Per_AdminDomain

geeft bij tiled 1024x1280 tiles: Nr Values: 66,473,224
geeft bij tiled 768x768 tiles: Nr Values: 66,473,223
geeft bij untiled: Nr Values: 66,473,223

OVSRV6:
C:\ProjDir\Jip\RSLight2021_ontwikkel_3_regressietest_compacted_GH12\Runs\casus.dms

statistics op:
/geography/RegioIndelingen/Gemeente2019_single/Per_AdminDomain

aan en uitzetten van tiling varianten hier:
/geography/perGridsize/size_25m/Domain

crash op gui export naar shapefile

rechtermuis knop > export > dbf and shp op attribuut, dan opslaan geeft freeze en error:

"device or resource busy: device or resource busy
/Desktops/Default/ViewData/DbfTable"

het is een vector attribuut, maar de geometry is niet daar geconfigureerd. Wanneer je het eerst een unit configureert, en dan rechtermuisknop op de unit werkt wel. Dat is mogelijk ook wenselijk gedrag. Desondanks zou de crash, error en freeze niet moeten komen.
Of wil je niet toestaan dat je een attribuut zo kunt exporteren?

OVSRV06:
C:\ProjDir\Jip\LUS_FTM_issueGH7\cfg\main.dms

export op: /Analysis/Allocatie/Per_AllocRegios/StartingState/RestClaim

gebeurt in 8.6.3

WGS84 penwidth te dik

Wanneer je WGS84 arcs wilt visualiseren worden alle lijnen zeer dik.
Een work-around is om een PenWorldWidth in te stellen op:

attribute Geometry (arc)
{
parameter PenWorldWidth := 0.0001d , DialogType = "PenWorldWidth";
}

OVSRV6:
C:\ProjDir\Jip\geodms_africa_cusa2_issueGH78\trunk\cfg\Africa.dms

/SourceData/Roads/OSM/Algeria/inFile/Geometry

select via mapview resulteert in crash

map view van /SourceData/Infrastructure/Infra_Unchecked/Connectiveness/NodeSet/PartNr
dan helemaal inzoomen naar een node, en dan met de maptools 'Select objects in the active layer by drawing a rectangle' op een enkele node. Dit resulteert na enkele seconden in een crash.

OVSRV6:
C:\ProjDir\Jip\NetworkModel_EU_GH14\cfg\main.dms

/SourceData/Infrastructure/Infra_Unchecked/Connectiveness/NodeSet/PartNr

.gdb Permission denied

In extra versie van 8.6.3. gemaakt door Erik op 6 januari geeft errors op alle .gdb's

GDAL Error: cannot open dataset D:/SourceData/Overig/Stads_en_Dorpsgezichten_2020.gdb D:/SourceData/Overig/Stads_en_Dorpsgezichten_2020.gdb: Permission denied

OVSRV6:
C:\ProjDir\Jip\Verdichting_issueGH17\cfg\verdichting.dms
/Brondata/Overig/StadsDorpsGezichten_src

memory leaks when using gdal / proj with /S0../S3

Scenario: load luisa-bees, open in TableView (Ctrl-D):
/Geography/AdministrativeBoundaries/src/NUTS1_LUISA/inFile/geometry

and exit. About 28k memory leaks arise from sqllite3 etc.
This issue does only occur when Multi Threading is set on in the GeoDmsGui.exe (Windows 10-x64) with /S0 ... S3 and not when using /C0 ... /C3 (no multi threading).

The leaks result from a non-destroyed databaseContext_ as

OSRGetProjTLSContext() returns a TLS (a.k.a. Thread Local Static) OSRPJContextHolder& that holds a
pj_ctx* context that contains a
projCppContext* cpp_context that contains a
std:shared_ptr<osgeo::proj::io::DataBaseContext> databaseContext_

This all comes from
OGRLayer::GetSpatialRef() that holds a OGRShapeGeomFieldDefn->d: std::unique_ptr<OGRSpatialReference::Private, ...>
->... d->setPjCRS(proj_create_from_wkt(d->getPROJContext(), ...);
-> pj_ctx* getPROJContext() { return OSRGetProjTLSContext(); }

and similar paths from worker threads.
A non-solution is to call proj_context_create and proj_context_destroy for each worker thread frame that might call OSRGetProjTLSContext indirectly as they manage a separate copy aside from the TLS one that OSRPJContextHolder keeps.

Possible solution is clearing OSRPJContextHolder per worker thread frame that uses gdal or something similar.
See also: OSGeo/gdal#1838
void OSRCTCleanCache() in ogr_proj_p.h, also called from OSRCleanup

Cannot determine Layer item

export naar csv met gdalwrite.vect geeft

FailState Primary Data Derivation Failed
FailReason Cannot determine Layer item

OVSRV8:
C:\ProjDir\Jip\RVNL_GH15\Runs\casus.dms

ctrl+D op
/CaseIndicatoren/Export/Verharding/Result

v8.6.3

Zoomniveau in WGS84 onvoldoende

Wanneer je iets in WGS84 wilt visualiseren, bijvoorbeeld een wegnetwerk uit OSM, dan kun je niet verder inzoomen dan het hele land. Van bijvoorbeeld Algerije, zie hier:

OVSRV6:
C:\ProjDir\Jip\geodms_africa_cusa2_issueGH79\trunk\cfg\Africa.dms
/SourceData/Roads/OSM/Algeria/inFile/Geometry

explicitsupplier rekent niet uit, bij doorlink zonder expliciet geconfigureerde items

Zonder de te genereren items expliciet te configureren, geeft de generate parameter direct 'Ready' aan, zonder iets uit te rekenen. Configureer je ze wel, dan werkt t wel.

Werkt niet:

unit<uint32> TomTom_Network_fss_select := TomTom_Network_gpkg
, StorageName = "%SourceDataProjDir%/Infrastructure/TomTom/NW2021_SP_streets.fss";

parameter<string> generate_relevant_items := 'Ready', ExplicitSuppliers = "TomTom_Network_fss_select/Geometry";

Werkt wel:

unit<uint32> TomTom_Network_fss_select := TomTom_Network_gpkg
, StorageName = "%SourceDataProjDir%/Infrastructure/TomTom/NW2021_SP_streets.fss"
{
	attribute<BaseProjection>     Geometry (arc) := TomTom_Network_gpkg/Geometry;
}

parameter<string> generate_relevant_items := 'Ready', ExplicitSuppliers = "TomTom_Network_fss_select/Geometry";

OVSRV6:
C:\ProjDir\Jip\NetworkModel_EU_GH13\cfg\main.dms
/SourceData/Infrastructure/TomTom/generate_relevant_items

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.