8 |
9 | #include "xlsxglobal.h"
10 | #include "xlsxcell.h"
11 | #include "xlsxcelllocation.h"
12 |
13 | QT_BEGIN_NAMESPACE_XLSX
14 |
15 | CellLocation::CellLocation()
16 | {
17 | col = -1;
18 | row = -1;
19 |
20 | cell.clear();
21 | }
22 |
23 | QT_END_NAMESPACE_XLSX
24 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | redirect
5 |
7 |
8 |
9 | This page has moved. You will be automatically redirected to its new location.
10 | If you aren't forwarded to the new page,
11 | click here.
12 |
13 |
14 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/wince/msvc80/projce_common.vsprops:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
15 |
16 |
--------------------------------------------------------------------------------
/desktopclient/qml/controls/DomainItemSelector.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | ComboxLabelPair {
4 | anchors.fill: parent
5 | property var domain
6 |
7 | onDomainChanged: {
8 | if ( domain.typeName !== "itemdomain")
9 | return
10 | var items = domain.domainitems
11 | var itemNames = []
12 | for(var i=0; i < items.length; ++i){
13 | itemNames.push(items[i].name)
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by desktopclient.rc
4 |
5 | // Next default values for new objects
6 | //
7 | #ifdef APSTUDIO_INVOKED
8 | #ifndef APSTUDIO_READONLY_SYMBOLS
9 | #define _APS_NEXT_RESOURCE_VALUE 101
10 | #define _APS_NEXT_COMMAND_VALUE 40001
11 | #define _APS_NEXT_CONTROL_VALUE 1001
12 | #define _APS_NEXT_SYMED_VALUE 101
13 | #endif
14 | #endif
15 |
--------------------------------------------------------------------------------
/core/resources/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Ilwis-Objects minimal HTTP server
5 |
11 |
12 |
--------------------------------------------------------------------------------
/spreadsheet/resources/libraries.config:
--------------------------------------------------------------------------------
1 | {
2 | "OperatingSystem" : [
3 | { "name" : "windows",
4 | "libraries": [
5 | {
6 | "order":1,
7 | "dlibrary" : "../../zlibd.dll"
8 | "library" : "../../zlib.dll"
9 | },
10 | {
11 | "order":2,
12 | "library" : "../../quazip.dll"
13 | },
14 | {
15 | "order":3,
16 | "library" : "ods.dll"
17 | }
18 | ]
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/pythonscript/resources/libraries.config:
--------------------------------------------------------------------------------
1 | {
2 | "OperatingSystem" : [
3 | { "name" : "windows",
4 | "libraries": [
5 | {
6 | "order":1,
7 | "library" : "python/vcruntime140.dll"
8 | },
9 | {
10 | "order":2,
11 | "library" : "python/python36.dll"
12 | },
13 | {
14 | "order":3,
15 | "library" : "python/Lib/site-packages/ilwis/_ilwisobjects.pyd"
16 | }
17 | ]
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/rasteroperations/aggregationtime.h:
--------------------------------------------------------------------------------
1 | #ifndef AGGREGATIONTIME_H
2 | #define AGGREGATIONTIME_H
3 |
4 | namespace Ilwis {
5 |
6 | class AggregationTime
7 | {
8 | AggregationTime() {}
9 | enum AggregationTimePart {tpDekad};
10 | Time _time;
11 |
12 | public:
13 | AggregationTime(const Time& time);
14 |
15 | static int dekadFromDate(const Time& date);
16 | int get(AggregationTimePart part) const;
17 | };
18 | }
19 |
20 | #endif // AGGREGATIONTIME_H
21 |
--------------------------------------------------------------------------------
/desktopclient/qml/workbench/creators/EditorHeader.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.2
2 | import "../../Global.js" as Global
3 |
4 | Rectangle{
5 | id : labelrect
6 | width : parent.width
7 | height : 22
8 | color : Global.headerdark
9 | Text{
10 | text : creator.label
11 | color: "white"
12 | x : 4
13 | font.pointSize: 9
14 | font.bold: true
15 | anchors.verticalCenter: parent.verticalCenter
16 | }
17 |
18 | }
19 |
20 |
21 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_larr.c:
--------------------------------------------------------------------------------
1 | #define PROJ_PARMS__
2 | #define PJ_LIB__
3 | #include
4 | PROJ_HEAD(larr, "Larrivee") "\n\tMisc Sph, no inv.";
5 | #define SIXTH .16666666666666666
6 | FORWARD(s_forward); /* sphere */
7 | xy.x = 0.5 * lp.lam * (1. + sqrt(cos(lp.phi)));
8 | xy.y = lp.phi / (cos(0.5 * lp.phi) * cos(SIXTH * lp.lam));
9 | return (xy);
10 | }
11 | FREEUP; if (P) pj_dalloc(P); }
12 | ENTRY0(larr) P->fwd = s_forward; P->inv = 0; P->es = 0.; ENDENTRY(P)
13 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/pj_errno.c:
--------------------------------------------------------------------------------
1 | /* For full ANSI compliance of global variable */
2 |
3 | #include
4 |
5 | C_NAMESPACE_VAR int pj_errno = 0;
6 |
7 | /************************************************************************/
8 | /* pj_get_errno_ref() */
9 | /************************************************************************/
10 |
11 | int *pj_get_errno_ref()
12 |
13 | {
14 | return &pj_errno;
15 | }
16 |
17 | /* end */
18 |
--------------------------------------------------------------------------------
/ilwisobjects.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | CONFIG += ordered
4 |
5 | SUBDIRS += \
6 | core.pro \
7 | baseoperations.pro \
8 | featureoperations.pro \
9 | gdalconnector.pro \
10 | hydroflow.pro \
11 | ilwis3connector.pro \
12 | ilwis4connector.pro \
13 | ilwisscript.pro \
14 | internalconnector.pro \
15 | netcdfconnector.pro \
16 | projectionimplproj4.pro \
17 | rasteroperations.pro \
18 | streamconnector.pro \
19 | #opencv.pro \
20 | pythonapi.pro
21 |
--------------------------------------------------------------------------------
/desktopclient/qml/datapanel/modeller/workflow/DataFlowEdge.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.7
2 | import QtQuick.Controls.Material 2.1
3 |
4 | import QuickQanava 2.0 as Qan
5 | import "qrc:/QuickQanava" as Qan
6 |
7 | Qan.EdgeItem {
8 | id: edgeItem
9 | property color color: Qt.rgba(1,0,0,1)
10 | property color lineColor : uicontext.darkColor
11 | Qan.EdgeTemplate {
12 | anchors.fill: parent
13 | edgeItem: parent
14 | color: lineColor
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/pythonapi/pythonapi_qissuelogger.h:
--------------------------------------------------------------------------------
1 | #ifndef PYTHONAPI_ISSUELOGGER_H
2 | #define PYTHONAPI_ISSUELOGGER_H
3 |
4 | #include "../../core/issuelogger.h"
5 | #include
6 |
7 | namespace pythonapi{
8 |
9 | class QIssueLogger: public QObject{
10 | Q_OBJECT
11 |
12 | public:
13 | QIssueLogger();
14 |
15 | public slots:
16 | void ilwiserrormessage(const Ilwis::IssueObject& issueObject);
17 | };
18 |
19 | }
20 |
21 | #endif // PYTHONAPI_ISSUELOGGER_H
22 |
--------------------------------------------------------------------------------
/desktopclient/qml/datapanel/visualization/OverViewDrawer.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.1
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.1
4 | import QtQuick.Controls.Styles 1.1
5 | import UIContextModel 1.0
6 | import LayerManager 1.0
7 | import "../../workbench/propertyform" as MetaData
8 | import "../../controls" as Controls
9 | import "../../Global.js" as Global
10 | import "../.." as Base
11 |
12 | Controls.DummySpatial {
13 |
14 | objectName : "overview_mainui_" + uicontext.uniqueName()
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_mill.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | # include
3 | PROJ_HEAD(mill, "Miller Cylindrical") "\n\tCyl, Sph";
4 | FORWARD(s_forward); /* spheroid */
5 | xy.x = lp.lam;
6 | xy.y = log(tan(FORTPI + lp.phi * .4)) * 1.25;
7 | return (xy);
8 | }
9 | INVERSE(s_inverse); /* spheroid */
10 | lp.lam = xy.x;
11 | lp.phi = 2.5 * (atan(exp(.8 * xy.y)) - FORTPI);
12 | return (lp);
13 | }
14 | FREEUP; if (P) pj_dalloc(P); }
15 | ENTRY0(mill) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)
16 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_wag7.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | #include
3 | PROJ_HEAD(wag7, "Wagner VII") "\n\tMisc Sph, no inv.";
4 | FORWARD(s_forward); /* sphere */
5 | double theta, ct, D;
6 |
7 | theta = asin(xy.y = 0.90630778703664996 * sin(lp.phi));
8 | xy.x = 2.66723 * (ct = cos(theta)) * sin(lp.lam /= 3.);
9 | xy.y *= 1.24104 * (D = 1/(sqrt(0.5 * (1 + ct * cos(lp.lam)))));
10 | xy.x *= D;
11 | return (xy);
12 | }
13 | FREEUP; if (P) pj_dalloc(P); }
14 | ENTRY0(wag7) P->fwd = s_forward; P->inv = 0; P->es = 0.; ENDENTRY(P)
15 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/adjlon.c:
--------------------------------------------------------------------------------
1 | /* reduce argument to range +/- PI */
2 | #include
3 | #include
4 |
5 | #define SPI 3.14159265359
6 | #define TWOPI 6.2831853071795864769
7 | #define ONEPI 3.14159265358979323846
8 |
9 | double adjlon (double lon) {
10 | if (fabs(lon) <= SPI) return( lon );
11 | lon += ONEPI; /* adjust to 0..2pi rad */
12 | lon -= TWOPI * floor(lon / TWOPI); /* remove integral # of 'revolutions'*/
13 | lon -= ONEPI; /* adjust back to -pi..pi rad */
14 | return( lon );
15 | }
16 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/com/COMTest1ps.mk:
--------------------------------------------------------------------------------
1 |
2 | COMTest1ps.dll: dlldata.obj COMTest1_p.obj COMTest1_i.obj
3 | link /dll /out:COMTest1ps.dll /def:COMTest1ps.def /entry:DllMain dlldata.obj COMTest1_p.obj COMTest1_i.obj \
4 | kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \
5 |
6 | .c.obj:
7 | cl /c /Ox /DWIN32 /D_WIN32_WINNT=0x0400 /DREGISTER_PROXY_DLL \
8 | $<
9 |
10 | clean:
11 | @del COMTest1ps.dll
12 | @del COMTest1ps.lib
13 | @del COMTest1ps.exp
14 | @del dlldata.obj
15 | @del COMTest1_p.obj
16 | @del COMTest1_i.obj
17 |
--------------------------------------------------------------------------------
/gdalconnector/resources/gcs.override.csv:
--------------------------------------------------------------------------------
1 | "COORD_REF_SYS_CODE","COORD_REF_SYS_NAME","DATUM_CODE","DATUM_NAME","GREENWICH_DATUM","UOM_CODE","ELLIPSOID_CODE","PRIME_MERIDIAN_CODE","SHOW_CRS","DEPRECATED","COORD_SYS_CODE","COORD_OP_CODE","COORD_OP_CODE_MULTI","COORD_OP_METHOD_CODE","DX","DY","DZ","RX","RY","RZ","DS"
2 | #
3 | # NOTICE: The master version of this file is in the libgeotiff subversion at:
4 | #
5 | # https://svn.osgeo.org/metacrs/geotiff/trunk/libgeotiff/csv/gcs.override.csv
6 | #
7 | # Do *not* change other copies without upstreaming the results to libgeotiff.
8 |
--------------------------------------------------------------------------------
/test/main_test.py:
--------------------------------------------------------------------------------
1 | # content of test_sample.py
2 |
3 | import unittest
4 | import basetest as bt
5 | import config
6 | import time
7 |
8 | config.errorCount = 0
9 |
10 | #time.sleep(10)
11 |
12 | loader = unittest.TestLoader()
13 | tests = loader.discover('.','test_*.py')
14 |
15 | testRunner = unittest.runner.TextTestRunner()
16 | testRunner.run(tests)
17 |
18 | print("\nnumber of tests : " + str(config.testCount))
19 | print("number of fails in tests : " + str(len(config.fails)) + "\n")
20 | print(*config.fails, sep='\n')
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_tcc.c:
--------------------------------------------------------------------------------
1 | #define PROJ_PARMS__ \
2 | double ap;
3 | #define EPS10 1.e-10
4 | #define PJ_LIB__
5 | #include
6 | PROJ_HEAD(tcc, "Transverse Central Cylindrical") "\n\tCyl, Sph, no inv.";
7 | FORWARD(s_forward); /* spheroid */
8 | double b, bt;
9 |
10 | b = cos(lp.phi) * sin(lp.lam);
11 | if ((bt = 1. - b * b) < EPS10) F_ERROR;
12 | xy.x = b / sqrt(bt);
13 | xy.y = atan2(tan(lp.phi) , cos(lp.lam));
14 | return (xy);
15 | }
16 | FREEUP; if (P) pj_dalloc(P); }
17 | ENTRY0(tcc) P->es = 0.; P->fwd = s_forward; ENDENTRY(P)
18 |
--------------------------------------------------------------------------------
/spreadsheet/xlsx/xlsxcelllocation.h:
--------------------------------------------------------------------------------
1 | //
2 |
3 | #ifndef CELL_LOCATION_H
4 | #define CELL_LOCATION_H
5 |
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 | #include "xlsxglobal.h"
15 |
16 | QT_BEGIN_NAMESPACE_XLSX
17 |
18 | class Cell;
19 |
20 | class CellLocation
21 | {
22 | public:
23 | CellLocation();
24 |
25 | int col;
26 | int row;
27 |
28 | QSharedPointer cell;
29 | };
30 |
31 | QT_END_NAMESPACE_XLSX
32 | #endif
33 |
--------------------------------------------------------------------------------
/core/ilwisobjects/spinlock.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ilwis {
6 | class SpinLock
7 | {
8 | private:
9 | std::atomic_flag _lockFlag;
10 |
11 | public:
12 | SpinLock()
13 | : _lockFlag{ ATOMIC_FLAG_INIT }
14 | { }
15 |
16 | void lock()
17 | {
18 | while (_lockFlag.test_and_set(std::memory_order_acquire))
19 | {
20 | }
21 | }
22 |
23 | bool try_lock()
24 | {
25 | return !_lockFlag.test_and_set(std::memory_order_acquire);
26 | }
27 |
28 | void unlock()
29 | {
30 | _lockFlag.clear();
31 | }
32 | };
33 | }
34 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/com/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Developer Studio generated include file.
3 | // Used by COMTest1.rc
4 | //
5 | #define IDS_PROJNAME 100
6 | #define IDR_PROJDEF 101
7 |
8 | // Next default values for new objects
9 | //
10 | #ifdef APSTUDIO_INVOKED
11 | #ifndef APSTUDIO_READONLY_SYMBOLS
12 | #define _APS_NEXT_RESOURCE_VALUE 201
13 | #define _APS_NEXT_COMMAND_VALUE 32768
14 | #define _APS_NEXT_CONTROL_VALUE 201
15 | #define _APS_NEXT_SYMED_VALUE 102
16 | #endif
17 | #endif
18 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_gins8.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | # include
3 | PROJ_HEAD(gins8, "Ginsburg VIII (TsNIIGAiK)") "\n\tPCyl, Sph., no inv.";
4 | #define Cl 0.000952426
5 | #define Cp 0.162388
6 | #define C12 0.08333333333333333
7 | FORWARD(s_forward); /* spheroid */
8 | double t = lp.phi * lp.phi;
9 |
10 | xy.y = lp.phi * (1. + t * C12);
11 | xy.x = lp.lam * (1. - Cp * t);
12 | t = lp.lam * lp.lam;
13 | xy.x *= (0.87 - Cl * t * t);
14 | return (xy);
15 | }
16 | FREEUP; if (P) pj_dalloc(P); }
17 | ENTRY0(gins8) P->es = 0.; P->inv = 0; P->fwd = s_forward; ENDENTRY(P)
18 |
--------------------------------------------------------------------------------
/desktopclient/qml/workbench/creators/UnderDevelopment.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.2
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.1
4 | import QtQuick.Controls.Styles 1.1
5 | import ObjectCreator 1.0
6 | import IlwisObjectCreatorModel 1.0
7 | import "../../Global.js" as Global
8 | import "../../controls" as Controls
9 | import "../.." as Base
10 |
11 | Controls.DropableItem{
12 | id : dropItem
13 | width : 275
14 | height : 0
15 | clip:true
16 |
17 | Image {
18 | anchors.centerIn: parent
19 | source : "../../images/workinprogress.png"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_cc.c:
--------------------------------------------------------------------------------
1 | #define PROJ_PARMS__ \
2 | double ap;
3 | #define PJ_LIB__
4 | #include
5 | PROJ_HEAD(cc, "Central Cylindrical") "\n\tCyl, Sph";
6 | #define EPS10 1.e-10
7 | FORWARD(s_forward); /* spheroid */
8 | if (fabs(fabs(lp.phi) - HALFPI) <= EPS10) F_ERROR;
9 | xy.x = lp.lam;
10 | xy.y = tan(lp.phi);
11 | return (xy);
12 | }
13 | INVERSE(s_inverse); /* spheroid */
14 | lp.phi = atan(xy.y);
15 | lp.lam = xy.x;
16 | return (lp);
17 | }
18 | FREEUP; if (P) pj_dalloc(P); }
19 | ENTRY0(cc) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)
20 |
--------------------------------------------------------------------------------
/pythonapi/create_whl.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | set PYTHONROOT=%1
3 | set EXTENSIONFOLDER=%2
4 | set WHEELFOLDER=..\..\output\release\%3
5 | rd /q/s %WHEELFOLDER%
6 | mkdir %WHEELFOLDER%
7 | copy setup.py %WHEELFOLDER%
8 | copy ..\core\version.cpp %WHEELFOLDER%
9 | cd %WHEELFOLDER%
10 | xcopy /s ..\%EXTENSIONFOLDER% .
11 | rem for now remove opencv; needs more testing
12 | rd /q/s ilwis\ilwisobjects\extensions\opencv
13 | %PYTHONROOT%\python.exe ./setup.py bdist_wheel
14 | rd /q/s build
15 | rd /q/s ilwis
16 | rd /q/s ilwis.egg-info
17 | move dist\*.whl .
18 | rd dist
19 | del setup.py
20 | del version.cpp
21 |
--------------------------------------------------------------------------------
/desktopclient/qml/controls/AreaHeader.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | BorderImage {
4 | property string labeltext
5 | property int fontPointSize : 11
6 |
7 | source: "../../images/tab_thin_active.png"
8 | width: parent.height - 7
9 | height :33
10 | border.left: 5; border.top: 5
11 | border.right: 5; border.bottom: 5
12 | rotation: 270
13 | z : 1
14 | y : parent.height / 2 - height/2
15 | x : -width / 2 + height/2 + 2
16 | Text {
17 | anchors.centerIn: parent
18 | text : qsTr(labeltext)
19 | font.pointSize: fontPointSize
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/charts/qmldir:
--------------------------------------------------------------------------------
1 | module Charts
2 | ChartPane.qml 1.0 qml/ChartPane.qml
3 | ChartsPanel.qml 1.0 qml/ChartsPanel.qml
4 | ChartManagement.qml 1.0 qml/ChartManagement.qml
5 | DataseriesList.qml 1.0 qml/DataseriesList.qml
6 | DataseriesOperationList.qml 1.0 DataseriesOperationList.qml
7 | DataseriesOperate.qml 1.0 DataseriesOperate.qml
8 | MinimalChartPane.qml 1.0 qml/MinimalChartPane.qml
9 | SetSeriesColor.qml 1.0 qml/SetSeriesColor.qml
10 | SetChartType.qml 1.0 qml/SetChartType.qml
11 | SetYAxisRange.qml 1.0 qml/SetYAxisRange.qml
12 | SetLegendProperties.qml 1.0 qml/SetLegendProperties.qml
13 |
14 | plugin Charts
15 |
--------------------------------------------------------------------------------
/spreadsheet/resources/spreadsheetformats.config:
--------------------------------------------------------------------------------
1 | {
2 | "Formats" : [
3 | { "code" : "xlsx",
4 | "name" : "Excel(XLSX) format ",
5 | "description" : "XML based excel spreadsheet format",
6 | "extension" : "xlsx",
7 | "type" : "file",
8 | "datatypes" : "table",
9 | "readwrite" : "rcu"
10 | },
11 | { "code" : "ods",
12 | "name" : "Ods spreadsheet ",
13 | "description" : "Open Document spreadsheet format",
14 | "extension" : "ods",
15 | "type" : "file",
16 | "datatypes" : "table",
17 | "readwrite" : "rcu"
18 | }
19 | ]
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_eck1.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | #include
3 | PROJ_HEAD(eck1, "Eckert I") "\n\tPCyl., Sph.";
4 | #define FC .92131773192356127802
5 | #define RP .31830988618379067154
6 | FORWARD(s_forward); /* spheroid */
7 | xy.x = FC * lp.lam * (1. - RP * fabs(lp.phi));
8 | xy.y = FC * lp.phi;
9 | return (xy);
10 | }
11 | INVERSE(s_inverse); /* spheroid */
12 | lp.phi = xy.y / FC;
13 | lp.lam = xy.x / (FC * (1. - RP * fabs(lp.phi)));
14 | return (lp);
15 | }
16 | FREEUP; if (P) pj_dalloc(P); }
17 | ENTRY0(eck1)
18 | P->es = 0.; P->inv = s_inverse; P->fwd = s_forward;
19 | ENDENTRY(P)
20 |
--------------------------------------------------------------------------------
/desktopclient/qml/datapanel/modeller/analysisview/classification/FeatureSpace1.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.2
2 | import QtQuick.Layouts 1.1
3 | import QtQuick.Controls 1.0
4 | import QtQuick.Controls 2.4 as QC2
5 | import QtQuick.Dialogs 1.1
6 | import QtQuick.Layouts 1.1
7 | import QtQuick.Controls.Styles 1.1
8 | import "../../../../Global.js" as Global
9 | import "../../../../controls" as Controls
10 |
11 | FeatureSpaceDelegate {
12 | id : fs
13 |
14 | function activePanel() {
15 | return fs;
16 | }
17 |
18 | function deActivateAll(){
19 | fs.active = false
20 | }
21 |
22 | function updateFS(){
23 | updateChart2()
24 | }
25 | }
--------------------------------------------------------------------------------
/desktopclient/qml/datapanel/table/TableColumn.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.2
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.0
4 | import QtQuick.Controls.Styles 1.0
5 | import UIContextModel 1.0
6 | import TableModel 1.0
7 | import "../../controls" as Controls
8 | import "../../Global.js" as Global
9 |
10 | TableViewColumn{
11 | width : table.defaultWidth(styleData.column)
12 | delegate : Component {
13 | Loader{
14 | source: styleData.row < table.recordCount ? (styleData.column >=1 ? "NormalCell.qml" : "FirstColumn.qml"): "AggregateCell.qml"
15 | }
16 |
17 |
18 | }
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/.github/workflows/python_install_ubuntu_tester.yml:
--------------------------------------------------------------------------------
1 | name: Testing the installation of Python
2 |
3 | on:
4 | workflow_dispatch:
5 |
6 | jobs:
7 | build:
8 |
9 | runs-on: ubuntu-20.04
10 |
11 | steps:
12 | - name: install python
13 | uses: actions/setup-python@v5
14 | with:
15 | # Semantic version range syntax or exact version of a Python version
16 | python-version: '3.11'
17 | # Optional - x64 or x86 architecture, defaults to x64
18 | architecture: 'x64'
19 | - name: Setup tmate session
20 | if: success() || failure()
21 | uses: mxschmitt/action-tmate@v3
22 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/makefile.vc:
--------------------------------------------------------------------------------
1 | # $Id$
2 | #
3 | # NMAKE Makefile to build PROJ.4 on Windows
4 | #
5 | # This makefile.vc delegates making targets to src\makefile.vc
6 | # so it's just a thin wrapper.
7 | #
8 | MAKE = nmake
9 | RM = -del
10 |
11 | default:
12 | cd src
13 | $(MAKE) /f makefile.vc
14 | cd ..\nad
15 | $(MAKE) /f makefile.vc
16 | cd ..
17 |
18 | clean:
19 | cd src
20 | $(MAKE) /f makefile.vc clean
21 | cd ..\nad
22 | $(MAKE) /f makefile.vc clean
23 | cd ..
24 |
25 | install-all:
26 | cd src
27 | $(MAKE) /f makefile.vc install
28 | cd ..\nad
29 | $(MAKE) /f makefile.vc install-all
30 | cd ..
31 |
32 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_fahey.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | # include
3 | PROJ_HEAD(fahey, "Fahey") "\n\tPcyl, Sph.";
4 | #define TOL 1e-6
5 | FORWARD(s_forward); /* spheroid */
6 | xy.y = 1.819152 * ( xy.x = tan(0.5 * lp.phi) );
7 | xy.x = 0.819152 * lp.lam * asqrt(1 - xy.x * xy.x);
8 | return (xy);
9 | }
10 | INVERSE(s_inverse); /* spheroid */
11 | lp.phi = 2. * atan(xy.y /= 1.819152);
12 | lp.lam = fabs(xy.y = 1. - xy.y * xy.y) < TOL ? 0. :
13 | xy.x / (0.819152 * sqrt(xy.y));
14 | return (lp);
15 | }
16 | FREEUP; if (P) pj_dalloc(P); }
17 | ENTRY0(fahey) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)
18 |
--------------------------------------------------------------------------------
/pythonapi/pythonapi_qvariant.h:
--------------------------------------------------------------------------------
1 | #ifndef PYTHONAPI_QVARIANT_H
2 | #define PYTHONAPI_QVARIANT_H
3 |
4 | #include "pythonapi_object.h"
5 | #include
6 |
7 | //Qt typedefs
8 | typedef unsigned int uint;
9 | typedef qint64 qlonglong;
10 | typedef quint64 qulonglong;
11 |
12 | class QVariant;
13 |
14 | typedef struct _object PyObject;
15 |
16 | namespace pythonapi{
17 |
18 | QVariant* PyObject2QVariant(const PyObject* obj);
19 | PyObject* QVariant2PyObject(const QVariant& var);
20 | PyObject* StdVectorOfQVariant2PyTuple(const std::vector& vec);
21 | }
22 |
23 | #endif // PYTHONAPI_QVARIANT_H
24 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_denoy.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | #include
3 | PROJ_HEAD(denoy, "Denoyer Semi-Elliptical") "\n\tPCyl., no inv., Sph.";
4 | #define C0 0.95
5 | #define C1 -.08333333333333333333
6 | #define C3 .00166666666666666666
7 | #define D1 0.9
8 | #define D5 0.03
9 | FORWARD(s_forward); /* spheroid */
10 | xy.y = lp.phi;
11 | xy.x = lp.lam;
12 | lp.lam = fabs(lp.lam);
13 | xy.x *= cos((C0 + lp.lam * (C1 + lp.lam * lp.lam * C3)) *
14 | (lp.phi * (D1 + D5 * lp.phi * lp.phi * lp.phi * lp.phi)));
15 | return (xy);
16 | }
17 | FREEUP; if (P) pj_dalloc(P); }
18 | ENTRY0(denoy) P->es = 0.; P->fwd = s_forward; ENDENTRY(P)
19 |
--------------------------------------------------------------------------------
/desktopclient/qml/datapanel/modeller/workflow/WorkflowChoiceForm.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.2
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.0
4 | import QtQuick.Controls.Styles 1.0
5 | import Qt.labs.folderlistmodel 2.1
6 | import "../../../Global.js" as Global
7 | import "../../../controls" as Controls
8 | import OperationModel 1.0
9 |
10 | Rectangle {
11 | width: 350
12 | height: 0
13 | enabled: false
14 | anchors.centerIn: parent
15 | color : "white"
16 | state : "invisible"
17 | border.width: 1
18 | border.color: Global.edgecolor
19 | radius : 4
20 | z : ontTopZValue
21 | clip : true
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/pj_phi2.c:
--------------------------------------------------------------------------------
1 | /* determine latitude angle phi-2 */
2 | #include
3 |
4 | #define HALFPI 1.5707963267948966
5 | #define TOL 1.0e-10
6 | #define N_ITER 15
7 |
8 | double
9 | pj_phi2(projCtx ctx, double ts, double e) {
10 | double eccnth, Phi, con, dphi;
11 | int i;
12 |
13 | eccnth = .5 * e;
14 | Phi = HALFPI - 2. * atan (ts);
15 | i = N_ITER;
16 | do {
17 | con = e * sin (Phi);
18 | dphi = HALFPI - 2. * atan (ts * pow((1. - con) /
19 | (1. + con), eccnth)) - Phi;
20 | Phi += dphi;
21 | } while ( fabs(dphi) > TOL && --i);
22 | if (i <= 0)
23 | pj_ctx_set_errno( ctx, -18 );
24 | return Phi;
25 | }
26 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_august.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | #include
3 | PROJ_HEAD(august, "August Epicycloidal") "\n\tMisc Sph, no inv.";
4 | #define M 1.333333333333333
5 | FORWARD(s_forward); /* spheroid */
6 | double t, c1, c, x1, x12, y1, y12;
7 |
8 | t = tan(.5 * lp.phi);
9 | c1 = sqrt(1. - t * t);
10 | c = 1. + c1 * cos(lp.lam *= .5);
11 | x1 = sin(lp.lam) * c1 / c;
12 | y1 = t / c;
13 | xy.x = M * x1 * (3. + (x12 = x1 * x1) - 3. * (y12 = y1 * y1));
14 | xy.y = M * y1 * (3. + 3. * x12 - y12);
15 | return (xy);
16 | }
17 | FREEUP; if (P) pj_dalloc(P); }
18 | ENTRY0(august) P->inv = 0; P->fwd = s_forward; P->es = 0.; ENDENTRY(P)
19 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_eck5.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | # include
3 | PROJ_HEAD(eck5, "Eckert V") "\n\tPCyl, Sph.";
4 | #define XF 0.44101277172455148219
5 | #define RXF 2.26750802723822639137
6 | #define YF 0.88202554344910296438
7 | #define RYF 1.13375401361911319568
8 | FORWARD(s_forward); /* spheroid */
9 | xy.x = XF * (1. + cos(lp.phi)) * lp.lam;
10 | xy.y = YF * lp.phi;
11 | return (xy);
12 | }
13 | INVERSE(s_inverse); /* spheroid */
14 | lp.lam = RXF * xy.x / (1. + cos( lp.phi = RYF * xy.y));
15 | return (lp);
16 | }
17 | FREEUP; if (P) pj_dalloc(P); }
18 | ENTRY0(eck5); P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)
19 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_wink1.c:
--------------------------------------------------------------------------------
1 | #define PROJ_PARMS__ \
2 | double cosphi1;
3 | #define PJ_LIB__
4 | # include
5 | PROJ_HEAD(wink1, "Winkel I") "\n\tPCyl., Sph.\n\tlat_ts=";
6 | FORWARD(s_forward); /* spheroid */
7 | xy.x = .5 * lp.lam * (P->cosphi1 + cos(lp.phi));
8 | xy.y = lp.phi;
9 | return (xy);
10 | }
11 | INVERSE(s_inverse); /* spheroid */
12 | lp.phi = xy.y;
13 | lp.lam = 2. * xy.x / (P->cosphi1 + cos(lp.phi));
14 | return (lp);
15 | }
16 | FREEUP; if (P) pj_dalloc(P); }
17 | ENTRY0(wink1)
18 | P->cosphi1 = cos(pj_param(P->ctx, P->params, "rlat_ts").f);
19 | P->es = 0.; P->inv = s_inverse; P->fwd = s_forward;
20 | ENDENTRY(P)
21 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_gall.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | #include
3 | PROJ_HEAD(gall, "Gall (Gall Stereographic)") "\n\tCyl, Sph";
4 | #define YF 1.70710678118654752440
5 | #define XF 0.70710678118654752440
6 | #define RYF 0.58578643762690495119
7 | #define RXF 1.41421356237309504880
8 | FORWARD(s_forward); /* spheroid */
9 | xy.x = XF * lp.lam;
10 | xy.y = YF * tan(.5 * lp.phi);
11 | return (xy);
12 | }
13 | INVERSE(s_inverse); /* spheroid */
14 | lp.lam = RXF * xy.x;
15 | lp.phi = 2. * atan(xy.y * RYF);
16 | return (lp);
17 | }
18 | FREEUP; if (P) pj_dalloc(P); }
19 | ENTRY0(gall) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)
20 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/com/COMTest1.dsw:
--------------------------------------------------------------------------------
1 | Microsoft Developer Studio Workspace File, Format Version 6.00
2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3 |
4 | ###############################################################################
5 |
6 | Project: "COMTest1"=.\COMTest1.dsp - Package Owner=<4>
7 |
8 | Package=<5>
9 | {{{
10 | }}}
11 |
12 | Package=<4>
13 | {{{
14 | }}}
15 |
16 | ###############################################################################
17 |
18 | Global:
19 |
20 | Package=<5>
21 | {{{
22 | }}}
23 |
24 | Package=<3>
25 | {{{
26 | }}}
27 |
28 | ###############################################################################
29 |
30 |
--------------------------------------------------------------------------------
/core/geos/include/geos/inline.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | *
3 | * GEOS - Geometry Engine Open Source
4 | * http://geos.osgeo.org
5 | *
6 | * Copyright (C) 2005-2006 Refractions Research Inc.
7 | *
8 | * This is free software; you can redistribute and/or modify it under
9 | * the terms of the GNU Lesser General Public Licence as published
10 | * by the Free Software Foundation.
11 | * See the COPYING file for more information.
12 | *
13 | **********************************************************************/
14 |
15 | #ifndef GEOS_INLINE_H
16 | #define GEOS_INLINE_H
17 |
18 | #define INLINE
19 |
20 | #endif
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_eqc.c:
--------------------------------------------------------------------------------
1 | #define PROJ_PARMS__ \
2 | double rc;
3 | #define PJ_LIB__
4 | # include
5 | PROJ_HEAD(eqc, "Equidistant Cylindrical (Plate Caree)")
6 | "\n\tCyl, Sph\n\tlat_ts=[, lat_0=0]";
7 | FORWARD(s_forward); /* spheroid */
8 | xy.x = P->rc * lp.lam;
9 | xy.y = lp.phi - P->phi0;
10 | return (xy);
11 | }
12 | INVERSE(s_inverse); /* spheroid */
13 | lp.lam = xy.x / P->rc;
14 | lp.phi = xy.y + P->phi0;
15 | return (lp);
16 | }
17 | FREEUP; if (P) pj_dalloc(P); }
18 | ENTRY0(eqc)
19 | if ((P->rc = cos(pj_param(P->ctx, P->params, "rlat_ts").f)) <= 0.) E_ERROR(-24);
20 | P->inv = s_inverse;
21 | P->fwd = s_forward;
22 | P->es = 0.;
23 | ENDENTRY(P)
24 |
--------------------------------------------------------------------------------
/pythonapi/pythonapi_qtGNUTypedefs.h:
--------------------------------------------------------------------------------
1 | #ifndef PYTHONAPI_QTGNUTYPEDEFS_H
2 | #define PYTHONAPI_QTGNUTYPEDEFS_H
3 |
4 | //Qt typedefs only for GNU compiler
5 | typedef signed char qint8; /* 8 bit signed */
6 | typedef unsigned char quint8; /* 8 bit unsigned */
7 | typedef short qint16; /* 16 bit signed */
8 | typedef unsigned short quint16; /* 16 bit unsigned */
9 | typedef int qint32; /* 32 bit signed */
10 | typedef unsigned int quint32; /* 32 bit unsigned */
11 | typedef long long qint64; /* 64 bit signed */
12 | typedef unsigned long long quint64; /* 64 bit unsigned */
13 |
14 | #endif // PYTHONAPI_QTGNUTYPEDEFS_H
15 |
--------------------------------------------------------------------------------
/desktopclient/qml/CheckBoxStyle1.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.1
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.1
4 | import QtQuick.Controls.Styles 1.1
5 | import "Global.js" as Global
6 |
7 | CheckBoxStyle {
8 | indicator: Rectangle {
9 | implicitWidth: 14
10 | implicitHeight: 14
11 | radius: 2
12 | border.color: control.activeFocus ? "darkblue" : "gray"
13 | border.width: 1
14 | Rectangle {
15 | visible: control.checked
16 | color: "#3333A2"
17 | border.color: "#333"
18 | radius: 8
19 | anchors.margins: 3
20 | anchors.fill: parent
21 | }
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/desktopclient/qml/datapanel/visualization/propertyeditors/MapinfoProperties.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.1
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.1
4 | import QtQuick.Controls.Styles 1.1
5 | import "../../../Global.js" as Global
6 | import "../../.." as Base
7 |
8 | Item {
9 | width: 100
10 | height: 62
11 | property var editor
12 |
13 | CheckBox{
14 | id : usesInfo
15 | x : 5
16 | y : 5
17 | text: "Show mouse over map info"
18 |
19 | style: Base.CheckBoxStyle1{}
20 |
21 | checked : editor.showInfo
22 |
23 | onCheckedChanged: {
24 | editor.showInfo = checked
25 | }
26 | }
27 |
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/smce/table/TableColumn.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.2
2 | import QtQuick.Controls 1.1
3 | import QtQuick.Layouts 1.0
4 | import QtQuick.Controls.Styles 1.0
5 | import UIContextModel 1.0
6 | import TableModel 1.0
7 | import "../../../../qml/controls" as Controls
8 | import "../../../../qml/Global.js" as Global
9 |
10 | TableViewColumn{
11 | width : table.defaultWidth(styleData.column)
12 | property bool editable: false
13 | property bool isBoolStandardization : false
14 |
15 | delegate : Component {
16 | Loader{
17 | source: styleData.row < table.recordCount ? (styleData.column >=1 ? "NormalCell.qml" : "FirstColumn.qml"): "AggregateCell.qml"
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/core/resources/alternateoperationdefinitions.json:
--------------------------------------------------------------------------------
1 | {
2 | "definitions" : [
3 | {
4 | "syntax" : "examplefunc(parm1, parm2)",
5 | "description" : "The new text that should describe the operation. Note that html is allowed",
6 | "keywords" : "key1,key2,key3",
7 | "inparameters" : [
8 | {
9 | "index" : 0,
10 | "name" : "Text in the UI",
11 | "description" : "The new text that should describe the parameter. Note that html is allowed"
12 | }
13 | ],
14 | "outparameters" : [
15 | {
16 | "index" : 0,
17 | "name" : "Text in the UI",
18 | "description" : "The new text that should describe the parameter. Note that html is allowed"
19 | }
20 | ]
21 | }
22 | ]
23 | }
--------------------------------------------------------------------------------
/projectionimplproj4/proj4/src/PJ_wag2.c:
--------------------------------------------------------------------------------
1 | #define PJ_LIB__
2 | # include
3 | PROJ_HEAD(wag2, "Wagner II") "\n\tPCyl., Sph.";
4 | #define C_x 0.92483
5 | #define C_y 1.38725
6 | #define C_p1 0.88022
7 | #define C_p2 0.88550
8 | FORWARD(s_forward); /* spheroid */
9 | lp.phi = aasin(P->ctx,C_p1 * sin(C_p2 * lp.phi));
10 | xy.x = C_x * lp.lam * cos(lp.phi);
11 | xy.y = C_y * lp.phi;
12 | return (xy);
13 | }
14 | INVERSE(s_inverse); /* spheroid */
15 | lp.phi = xy.y / C_y;
16 | lp.lam = xy.x / (C_x * cos(lp.phi));
17 | lp.phi = aasin(P->ctx,sin(lp.phi) / C_p1) / C_p2;
18 | return (lp);
19 | }
20 | FREEUP; if (P) pj_dalloc(P); }
21 | ENTRY0(wag2) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)
22 |
--------------------------------------------------------------------------------
/pythonapi/pythonapi_collection.h:
--------------------------------------------------------------------------------
1 | #ifndef PYTHONAPI_COLLECTION_H
2 | #define PYTHONAPI_COLLECTION_H
3 |
4 | namespace pythonapi {
5 | class Collection : public Object {
6 | friend class Engine;
7 | public:
8 | virtual ~Collection();
9 | virtual bool __bool__() const;
10 | virtual std::string __str__();
11 | virtual IlwisTypes ilwisType();
12 | int __len__();
13 | Object* _getitem(quint32 colIndex);
14 | static Collection* toCollection(Object *obj);
15 | protected:
16 | Collection(std::vector |