Skip to content

Commit

Permalink
Fix: Migrate Stamen basemap to Stadia (#2463)
Browse files Browse the repository at this point in the history
  • Loading branch information
lixun910 committed Oct 10, 2023
1 parent dbecb6e commit 8b043c8
Show file tree
Hide file tree
Showing 12 changed files with 1,443 additions and 1,441 deletions.
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,11 @@
},
"python.formatting.provider": "none",
"activestate.promptRuntimeCreation": false,
"files.associations": {
"cmath": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"algorithm": "cpp"
},
"C_Cpp.default.compilerPath": "/usr/bin/clang++"
}
Binary file modified BuildTools/CommonDistFiles/cache.sqlite
Binary file not shown.
34 changes: 21 additions & 13 deletions BuildTools/macosx/code_sign.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,23 @@ def ProcessDependency(dylib_path, cid, current_item=None):
if dylib_path == '@loader_path/libkmldom.1.dylib':
dylib_path = '/opt/homebrew/opt/libkml/lib/libkmldom.1.dylib'

if dylib_path == '@rpath/libIlmThread-3_1.30.dylib':
dylib_path = '/usr/local/opt/openexr/lib/libIlmThread-3_1.30.dylib'
if dylib_path == '@rpath/libIex-3_1.30.dylib':
dylib_path = '/usr/local/opt/openexr/lib/libIex-3_1.30.dylib'
if dylib_path == '@rpath/libOpenEXR-3_1.30.dylib':
dylib_path = '/usr/local/opt/openexr/lib/libOpenEXR-3_1.30.dylib'
if dylib_path == '@rpath/libOpenEXRCore-3_1.30.dylib':
dylib_path = '/usr/local/opt/openexr/lib/libOpenEXRCore-3_1.30.dylib'

m = re.search('@rpath/libIlmThread-(.*).dylib', dylib_path)
if m:
dylib_path = '/usr/local/opt/openexr/lib/libIlmThread-' + \
m.group(1) + '.dylib'
m = re.search('@rpath/libIex-(.*).dylib', dylib_path)
if m:
dylib_path = '/usr/local/opt/openexr/lib/libIex-' + \
m.group(1) + '.dylib'
m = re.search('@rpath/libOpenEXR-(.*).dylib', dylib_path)
if m:
dylib_path = '/usr/local/opt/openexr/lib/libOpenEXR-' + \
m.group(1) + '.dylib'
m = re.search('@rpath/libOpenEXRCore-(.*).dylib', dylib_path)
if m:
dylib_path = '/usr/local/opt/openexr/lib/libOpenEXRCore-' + \
m.group(1) + '.dylib'

m = re.search('@rpath/(libabsl.*)', dylib_path)
if m:
dylib_path = '/usr/local/opt/abseil/lib/' + m.group(1)
Expand All @@ -65,7 +73,7 @@ def ProcessDependency(dylib_path, cid, current_item=None):
m = re.search('@rpath/(libaws.*)', dylib_path)
if m:
dylib_path = '/usr/local/opt/aws-sdk-cpp/lib/' + m.group(1)

m = re.search('@loader_path/../../../../(opt*)', dylib_path)
if m:
dylib_path = '/usr/local/' + m.group(1)
Expand All @@ -81,7 +89,7 @@ def ProcessDependency(dylib_path, cid, current_item=None):
dylib_path = f'{copy_dir}/{item_filename}'
elif upper_levels == 0:
dylib_path = f'{copy_dir}/{item_filename}'

print("Process:", dylib_path)
# cmd = "codesign -f -s - "
cmd = '/usr/bin/codesign --force --sign "{}" '.format(cid)
Expand All @@ -100,5 +108,5 @@ def ProcessDependency(dylib_path, cid, current_item=None):
# e.g.
# python3 code_sign.py /opt/homebrew/opt/gdal/lib/libgdal.29.dylib "Apple Development: [email protected] (AN5USPSZF6)"
# python3 code_sign.py /opt/homebrew/opt/gdal/lib/libgdal.32.dylib "Apple Development: [email protected] (AN5USPSZF6)"
#ProcessDependency(sys.argv[1], sys.argv[2])
#ProcessDependency('/opt/homebrew/Cellar/gdal/3.7.2/lib/libgdal.33.3.7.2.dylib', "Apple Development: [email protected] (AN5USPSZF6)")
# ProcessDependency(sys.argv[1], sys.argv[2])
# ProcessDependency('/opt/homebrew/Cellar/gdal/3.7.2/lib/libgdal.33.3.7.2.dylib', "Apple Development: [email protected] (AN5USPSZF6)")
18 changes: 18 additions & 0 deletions BuildTools/macosx/install_name.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ def process_dependency(framework_path, dylib_name):
copyitem = '/usr/local/opt/icu4c/lib/libicudata.73.dylib'
if item == '@loader_path/libbrotlicommon.1.dylib':
copyitem = '/usr/local/opt/brotli/lib/libbrotlicommon.1.dylib'

if item == '@rpath/libIlmThread-3_1.30.dylib':
copyitem = '/usr/local/opt/openexr/lib/libIlmThread-3_1.30.dylib'
if item == '@rpath/libIex-3_1.30.dylib':
Expand All @@ -88,6 +89,23 @@ def process_dependency(framework_path, dylib_name):
if item == '@rpath/libabsl_base.2301.0.0.dylib':
copyitem = '/usr/local/opt/abseil/lib/libabsl_base.2301.0.0.dylib'

m = re.search('@rpath/libIlmThread-(.*).dylib', item)
if m:
copyitem = '/usr/local/opt/openexr/lib/libIlmThread-' + \
m.group(1) + '.dylib'
m = re.search('@rpath/libIex-(.*).dylib', item)
if m:
copyitem = '/usr/local/opt/openexr/lib/libIex-' + \
m.group(1) + '.dylib'
m = re.search('@rpath/libOpenEXR-(.*).dylib', item)
if m:
copyitem = '/usr/local/opt/openexr/lib/libOpenEXR-' + \
m.group(1) + '.dylib'
m = re.search('@rpath/libOpenEXRCore-(.*).dylib', item)
if m:
copyitem = '/usr/local/opt/openexr/lib/libOpenEXRCore-' + \
m.group(1) + '.dylib'

name_matches = re.search('@rpath/(libabsl.*)', item)
if name_matches:
copyitem = '/usr/local/opt/abseil/lib/' + name_matches.group(1)
Expand Down
16 changes: 8 additions & 8 deletions BuildTools/windows/GeoDa.vs2019.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>temp\OpenCL\sdk\include;temp\boost;temp\wxWidgets\lib\vc_dll\mswud;temp\wxWidgets\include;temp\json_spirit_v4.08;temp\eigen3;temp\spectra\include;libraries\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;DEBUG;_DEBUG;_WINDOWS;__WXMSW__;__WXDEBUG__;WXUSINGDLL;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;DEBUG;_DEBUG;_WINDOWS;NOMINMAX;__WXMSW__;__WXDEBUG__;WXUSINGDLL;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
Expand All @@ -103,7 +103,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NOMINMAX;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>temp\wxWidgets\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
Expand All @@ -122,7 +122,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>temp\OpenCL\sdk\include;temp\wxWidgets\lib\vc_dll\mswud;temp\wxWidgets\include;temp\boost\include;temp\json_spirit_v4.08;temp\eigen3;temp\spectra\include;libraries\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;DEBUG;_DEBUG;_WINDOWS;__WXMSW__;__WXDEBUG__;WXUSINGDLL;_UNICODE;__PROJ6__%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;DEBUG;_DEBUG;_WINDOWS;NOMINMAX;__WXMSW__;__WXDEBUG__;WXUSINGDLL;_UNICODE;__PROJ6__%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
Expand All @@ -139,7 +139,7 @@
<LanguageStandard>Default</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NOMINMAX;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>temp\wxWidgets\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
Expand All @@ -160,7 +160,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>temp\OpenCL\sdk\include;temp\wxWidgets\lib\vc_dll\mswu;temp\wxWidgets\include;temp\boost\include;temp\json_spirit_v4.08;temp\eigen3;temp\spectra\include;libraries\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;__WXMSW__;__NO_VC_CRTDBG__;WXUSINGDLL;_UNICODE;__PROJ6__;BOOST_BIND_NO_PLACEHOLDERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NOMINMAX;__WXMSW__;__NO_VC_CRTDBG__;WXUSINGDLL;_UNICODE;__PROJ6__;BOOST_BIND_NO_PLACEHOLDERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
Expand All @@ -170,7 +170,7 @@
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NOMINMAX;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>temp\wxWidgets\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
Expand All @@ -187,7 +187,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>temp\OpenCL\sdk\include;temp\wxWidgets\lib\vc_x64_dll\mswu;temp\wxWidgets\include;temp\boost\include;temp\json_spirit_v4.08;temp\eigen3;temp\spectra\include;libraries\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;__WXMSW__;__NO_VC_CRTDBG__;WXUSINGDLL;_UNICODE;__PROJ6__;BOOST_BIND_NO_PLACEHOLDERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NOMINMAX;__WXMSW__;__NO_VC_CRTDBG__;WXUSINGDLL;_UNICODE;__PROJ6__;BOOST_BIND_NO_PLACEHOLDERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
Expand All @@ -198,7 +198,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NOMINMAX;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;WXUSINGDLL;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>temp\wxWidgets\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
Expand Down
123 changes: 60 additions & 63 deletions DialogTools/BasemapConfDlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,84 +17,81 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include "BasemapConfDlg.h"


#include <string>
#include <wx/wx.h>
#include <wx/filedlg.h>
#include <wx/dir.h>
#include <wx/filedlg.h>
#include <wx/filefn.h>
#include <wx/msgdlg.h>
#include <wx/wx.h>
#include <wx/xrc/xmlres.h>

#include <string>

#include "../GdaConst.h"
#include "../Project.h"
#include "../ShapeOperations/OGRDataAdapter.h"
#include "../GdaConst.h"
#include "BasemapConfDlg.h"


BEGIN_EVENT_TABLE( BasemapConfDlg, wxDialog )
EVT_BUTTON( wxID_OK, BasemapConfDlg::OnOkClick )
EVT_BUTTON( XRCID("ID_NOKIA_RESET"), BasemapConfDlg::OnResetClick )
BEGIN_EVENT_TABLE(BasemapConfDlg, wxDialog)
EVT_BUTTON(wxID_OK, BasemapConfDlg::OnOkClick)
EVT_BUTTON(XRCID("ID_NOKIA_RESET"), BasemapConfDlg::OnResetClick)
END_EVENT_TABLE()

BasemapConfDlg::BasemapConfDlg(wxWindow* parent, Project* _p,
wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size )
{

wxLogMessage("Open BasemapConfDlg.");
p = _p;

basemap_resources = wxString::FromUTF8(GdaConst::gda_basemap_sources.mb_str());
std::vector<wxString> items = OGRDataAdapter::GetInstance().GetHistory("gda_basemap_sources");
if (items.size()>0) {
basemap_resources = items[0];
}

wxString encoded_str= wxString::FromUTF8((const char*)basemap_resources.mb_str());
if (encoded_str.IsEmpty() == false) {
basemap_resources = encoded_str;
}

wxXmlResource::Get()->LoadDialog(this, GetParent(), "IDD_BASEMAP_CONF_DLG");
FindWindow(XRCID("wxID_OK"))->Enable(true);
m_txt_nokia_uname = XRCCTRL(*this, "IDC_NOKIA_USERNAME",wxTextCtrl);
m_txt_nokia_key = XRCCTRL(*this, "IDC_NOKIA_KEY",wxTextCtrl);
m_txt_basemap = XRCCTRL(*this, "IDC_BASEMAP_SOURCE",wxTextCtrl);
m_txt_basemap->SetValue(basemap_resources);

SetParent(parent);
SetPosition(pos);
Centre();
BasemapConfDlg::BasemapConfDlg(wxWindow* parent, Project* _p, wxWindowID id, const wxString& title, const wxPoint& pos,
const wxSize& size) {
wxLogMessage("Open BasemapConfDlg.");
p = _p;

basemap_resources = wxString::FromUTF8(GdaConst::gda_basemap_sources.mb_str());
std::vector<wxString> items = OGRDataAdapter::GetInstance().GetHistory("gda_basemap_sources");
if (items.size() > 0) {
basemap_resources = items[0];
}

wxString encoded_str = wxString::FromUTF8((const char*)basemap_resources.mb_str());
if (encoded_str.IsEmpty() == false) {
basemap_resources = encoded_str;
}

wxXmlResource::Get()->LoadDialog(this, GetParent(), "IDD_BASEMAP_CONF_DLG");
FindWindow(XRCID("wxID_OK"))->Enable(true);
m_txt_stadia_key = XRCCTRL(*this, "IDC_STADIA_KEY", wxTextCtrl);
m_txt_nokia_uname = XRCCTRL(*this, "IDC_NOKIA_USERNAME", wxTextCtrl);
m_txt_nokia_key = XRCCTRL(*this, "IDC_NOKIA_KEY", wxTextCtrl);
m_txt_basemap = XRCCTRL(*this, "IDC_BASEMAP_SOURCE", wxTextCtrl);
m_txt_basemap->SetValue(basemap_resources);

SetParent(parent);
SetPosition(pos);
Centre();
}

void BasemapConfDlg::OnOkClick(wxCommandEvent& event) {
wxLogMessage("BasemapConfDlg: Click OK Button.");

wxString stadie_key(m_txt_stadia_key->GetValue().Trim());
if (!stadie_key.empty()) {
OGRDataAdapter::GetInstance().AddEntry("stadia_key", stadie_key);
}

void BasemapConfDlg::OnOkClick( wxCommandEvent& event )
{
wxLogMessage("BasemapConfDlg: Click OK Button.");

wxString nokia_uname(m_txt_nokia_uname->GetValue().Trim());
wxString nokia_key(m_txt_nokia_key->GetValue().Trim());

if (!nokia_uname.empty() && !nokia_key.empty()) {
OGRDataAdapter::GetInstance().AddEntry("nokia_user", nokia_uname);
OGRDataAdapter::GetInstance().AddEntry("nokia_key", nokia_key);
}
if (m_txt_basemap->GetValue() != basemap_resources) {
OGRDataAdapter::GetInstance().AddEntry("gda_basemap_sources", m_txt_basemap->GetValue());
}
EndDialog(wxID_OK);
wxString nokia_uname(m_txt_nokia_uname->GetValue().Trim());
wxString nokia_key(m_txt_nokia_key->GetValue().Trim());
if (!nokia_uname.empty() && !nokia_key.empty()) {
OGRDataAdapter::GetInstance().AddEntry("nokia_user", nokia_uname);
OGRDataAdapter::GetInstance().AddEntry("nokia_key", nokia_key);
}

if (m_txt_basemap->GetValue() != basemap_resources) {
OGRDataAdapter::GetInstance().AddEntry("gda_basemap_sources", m_txt_basemap->GetValue());
}
EndDialog(wxID_OK);
}

void BasemapConfDlg::OnResetClick( wxCommandEvent& event )
{
wxLogMessage("BasemapConfDlg: Click Reset Button.");
void BasemapConfDlg::OnResetClick(wxCommandEvent& event) {
wxLogMessage("BasemapConfDlg: Click Reset Button.");

m_txt_basemap->SetValue(GdaConst::gda_basemap_sources);
OGRDataAdapter::GetInstance().AddEntry("gda_basemap_sources", GdaConst::gda_basemap_sources);

m_txt_basemap->SetValue(GdaConst::gda_basemap_sources);
OGRDataAdapter::GetInstance().AddEntry("gda_basemap_sources", GdaConst::gda_basemap_sources);

EndDialog(wxID_OK);
EndDialog(wxID_OK);
}
50 changes: 24 additions & 26 deletions DialogTools/BasemapConfDlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,40 +19,38 @@
#ifndef __GEODA_CENTER_BASEMAP_CONF_DLG_H__
#define __GEODA_CENTER_BASEMAP_CONF_DLG_H__


#include <vector>
#include <wx/dialog.h>
#include <wx/bmpbuttn.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/textctrl.h>
#include <wx/dialog.h>
#include <wx/sizer.h>
#include <wx/checkbox.h>
#include <wx/textctrl.h>

#include <vector>

#include "../Project.h"

class Project;

class BasemapConfDlg: public wxDialog
{
public:
BasemapConfDlg(wxWindow* parent, Project* p,
wxWindowID id = wxID_ANY,
const wxString& title = _("Basemap Configuration Dialog"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize );

private:
Project* p;
wxString basemap_resources;

wxTextCtrl* m_txt_nokia_uname;
wxTextCtrl* m_txt_nokia_key;
wxTextCtrl* m_txt_basemap;

void OnOkClick( wxCommandEvent& event );
void OnResetClick( wxCommandEvent& event );

DECLARE_EVENT_TABLE()
class BasemapConfDlg : public wxDialog {
public:
BasemapConfDlg(wxWindow* parent, Project* p, wxWindowID id = wxID_ANY,
const wxString& title = _("Basemap Configuration Dialog"), const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize);

private:
Project* p;
wxString basemap_resources;

wxTextCtrl* m_txt_stadia_key;
wxTextCtrl* m_txt_nokia_uname;
wxTextCtrl* m_txt_nokia_key;
wxTextCtrl* m_txt_basemap;

void OnOkClick(wxCommandEvent& event);
void OnResetClick(wxCommandEvent& event);

DECLARE_EVENT_TABLE()
};

#endif
Loading

0 comments on commit 8b043c8

Please sign in to comment.