maps4fs 1.8.183__py3-none-any.whl → 1.8.185__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
maps4fs/__init__.py CHANGED
@@ -17,6 +17,8 @@ from maps4fs.generator.dtm.france import FranceProvider
17
17
  from maps4fs.generator.dtm.norway import NorwayProvider
18
18
  from maps4fs.generator.dtm.denmark import DenmarkProvider
19
19
  from maps4fs.generator.dtm.switzerland import SwitzerlandProvider
20
+ from maps4fs.generator.dtm.mv import MecklenburgVorpommernProvider
21
+ from maps4fs.generator.dtm.baden import BadenWurttembergProvider
20
22
  from maps4fs.generator.game import Game
21
23
  from maps4fs.generator.map import Map
22
24
  from maps4fs.generator.settings import (
@@ -159,7 +159,7 @@ class Background(MeshComponent, ImageComponent):
159
159
  If at least one DEM file is missing, the generation will be stopped at all.
160
160
  """
161
161
  if not os.path.isfile(self.dem.dem_path):
162
- self.logger.warning(
162
+ self.logger.error(
163
163
  "DEM file not found, generation will be stopped: %s", self.dem.dem_path
164
164
  )
165
165
  return
@@ -436,7 +436,7 @@ class Background(MeshComponent, ImageComponent):
436
436
 
437
437
  # Check if the image contains non-zero values.
438
438
  if not np.any(plane_water):
439
- self.logger.warning("Water resources image is empty, skipping water generation.")
439
+ self.logger.debug("Water resources image is empty, skipping water generation.")
440
440
  return
441
441
 
442
442
  dilated_plane_water = cv2.dilate(
@@ -156,14 +156,14 @@ class GRLE(ImageComponent, XMLComponent):
156
156
  """
157
157
  fields_layer = self.map.get_texture_layer(by_usage="field")
158
158
  if not fields_layer:
159
- self.logger.warning("Fields layer not found in the texture component.")
159
+ self.logger.debug("Fields layer not found in the texture component.")
160
160
  return None
161
161
 
162
162
  fields_layer_path = fields_layer.get_preview_or_path(
163
163
  self.game.weights_dir_path(self.map_directory)
164
164
  )
165
165
  if not fields_layer_path or not os.path.isfile(fields_layer_path):
166
- self.logger.warning("Fields layer not found in the texture component.")
166
+ self.logger.debug("Fields layer not found in the texture component.")
167
167
  return None
168
168
  fields_np = cv2.imread(fields_layer_path)
169
169
  # Resize fields_np to the same size as farmlands_np.
@@ -182,7 +182,7 @@ class GRLE(ImageComponent, XMLComponent):
182
182
 
183
183
  fields = self.get_infolayer_data(Parameters.TEXTURES, Parameters.FIELDS)
184
184
  if not fields:
185
- self.logger.warning("Fields data not found in textures info layer.")
185
+ self.logger.debug("Fields data not found in textures info layer.")
186
186
  return
187
187
  farmlands.extend(fields)
188
188
 
maps4fs/generator/dem.py CHANGED
@@ -317,7 +317,6 @@ class DEM(Component):
317
317
  """Saves empty DEM file filled with zeros."""
318
318
  dem_data = np.zeros(dem_output_resolution, dtype="uint16")
319
319
  cv2.imwrite(self._dem_path, dem_data)
320
- self.logger.warning("DEM data filled with zeros and saved to %s.", self._dem_path)
321
320
 
322
321
  def info_sequence(self) -> dict[Any, Any] | None: # type: ignore
323
322
  """Returns the information sequence for the component. Must be implemented in the child
@@ -0,0 +1,31 @@
1
+ """This module contains provider of Baden-Württemberg data."""
2
+
3
+ from maps4fs.generator.dtm.base.wcs import WCSProvider
4
+ from maps4fs.generator.dtm.dtm import DTMProvider
5
+
6
+
7
+ class BadenWurttembergProvider(WCSProvider, DTMProvider):
8
+ """Provider of Baden-Württemberg data."""
9
+
10
+ _code = "baden"
11
+ _name = "Baden-Württemberg"
12
+ _region = "DE"
13
+ _icon = "🇩🇪"
14
+ _resolution = "1"
15
+ _author = "[kbrandwijk](https://github.com/kbrandwijk)"
16
+ _is_community = True
17
+ _instructions = None
18
+ _is_base = False
19
+ _extents = (49.79645444804715, 47.52877040346605, 10.54203149250156, 7.444081717803481)
20
+
21
+ _url = "https://owsproxy.lgl-bw.de/owsproxy/wcs/WCS_INSP_BW_Hoehe_Coverage_DGM1"
22
+ _wcs_version = "2.0.1"
23
+ _source_crs = "EPSG:25832"
24
+ _tile_size = 1000
25
+
26
+ def get_wcs_parameters(self, tile):
27
+ return {
28
+ "identifier": ["EL.ElevationGridCoverage"],
29
+ "subsets": [("E", str(tile[1]), str(tile[3])), ("N", str(tile[0]), str(tile[2]))],
30
+ "format": "image/tiff",
31
+ }
@@ -0,0 +1,42 @@
1
+ """This module contains provider of Mecklenburg-Vorpommern data."""
2
+
3
+ from maps4fs.generator.dtm.base.wcs import WCSProvider
4
+ from maps4fs.generator.dtm.dtm import DTMProvider, DTMProviderSettings
5
+
6
+
7
+ class MecklenburgVorpommernProviderSettings(DTMProviderSettings):
8
+ """Settings for the Mecklenburg-Vorpommern provider."""
9
+
10
+ dataset: dict | str = {
11
+ "mv_dgm": "Mecklenburg-Vorpommern DGM1",
12
+ "mv_dgm5": "Mecklenburg-Vorpommern DGM5",
13
+ "mv_dgm25": "Mecklenburg-Vorpommern DGM25",
14
+ }
15
+
16
+
17
+ class MecklenburgVorpommernProvider(WCSProvider, DTMProvider):
18
+ """Provider of Mecklenburg-Vorpommern data."""
19
+
20
+ _code = "mv"
21
+ _name = "Mecklenburg-Vorpommern"
22
+ _region = "DE"
23
+ _icon = "🇩🇪"
24
+ _resolution = "1-25"
25
+ _author = "[kbrandwijk](https://github.com/kbrandwijk)"
26
+ _is_community = True
27
+ _instructions = None
28
+ _is_base = False
29
+ _settings = MecklenburgVorpommernProviderSettings
30
+ _extents = (54.8, 53, 14.5, 10.5)
31
+
32
+ _url = "https://www.geodaten-mv.de/dienste/dgm_wcs"
33
+ _wcs_version = "2.0.1"
34
+ _source_crs = "EPSG:25833"
35
+ _tile_size = 1000
36
+
37
+ def get_wcs_parameters(self, tile):
38
+ return {
39
+ "identifier": [self.user_settings.dataset],
40
+ "subsets": [("x", str(tile[1]), str(tile[3])), ("y", str(tile[0]), str(tile[2]))],
41
+ "format": "image/tiff",
42
+ }
@@ -838,9 +838,9 @@ class Texture(Component):
838
838
  )
839
839
 
840
840
  if not isinstance(padded_polygon, shapely.geometry.polygon.Polygon):
841
- self.logger.warning("The padding value is too high, field will not padded.")
841
+ self.logger.debug("The padding value is too high, field will not padded.")
842
842
  elif not list(padded_polygon.exterior.coords):
843
- self.logger.warning("The padding value is too high, field will not padded.")
843
+ self.logger.debug("The padding value is too high, field will not padded.")
844
844
  else:
845
845
  polygon = padded_polygon
846
846
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: maps4fs
3
- Version: 1.8.183
3
+ Version: 1.8.185
4
4
  Summary: Generate map templates for Farming Simulator from real places.
5
5
  Author-email: iwatkot <iwatkot@gmail.com>
6
6
  License: MIT License
@@ -686,29 +686,31 @@ The generator supports adding the own DTM providers, please refer to the [DTM Pr
686
686
 
687
687
  ### Supported DTM providers
688
688
 
689
- ![coverage map](https://github.com/user-attachments/assets/138fa637-ce63-4dd9-bd11-bf92fe038a74)
689
+ ![coverage map](https://github.com/user-attachments/assets/e02a4b5e-c5a9-4e6f-826f-048081704ef9)
690
690
 
691
691
  In addition to SRTM 30m, which provides global coverage, the map above highlights all countries and/or regions where higher resolution coverage is provided by one of the DTM providers.
692
692
 
693
- | Provider Name | Resolution | Developer |
694
- | ------------------------------- | ------------ | ------------------------------------------- |
695
- | 🌎 SRTM30 | 30 meters | [iwatkot](https://github.com/iwatkot) |
696
- | 🇺🇸 USGS | 1-90 meters | [ZenJakey](https://github.com/ZenJakey) |
697
- | 🏴󠁧󠁢󠁥󠁮󠁧󠁿 England | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
698
- | 🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland | 0.25-1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
699
- | 🇩🇪 Hessen, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
700
- | 🇩🇪 Niedersachsen, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
701
- | 🇩🇪 Bayern, Germany | 1 meter | [H4rdB4se](https://github.com/H4rdB4se) |
702
- | 🇩🇪 Nordrhein-Westfalen, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
703
- | 🇨🇦 Canada | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
704
- | 🇧🇪 Flanders, Belgium | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
705
- | 🇫🇷 France | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
706
- | 🇮🇹 Italy | 10 meter | [kbrandwijk](https://github.com/kbrandwijk) |
707
- | 🇳🇴 Norway | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
708
- | 🇪🇸 Spain | 5 meter | [kbrandwijk](https://github.com/kbrandwijk) |
709
- | 🇫🇮 Finland | 2 meter | [kbrandwijk](https://github.com/kbrandwijk) |
710
- | 🇩🇰 Denmark | 0.4 meter | [kbrandwijk](https://github.com/kbrandwijk) |
711
- | 🇨🇭 Switzerland | 0.5-2 meter | [kbrandwijk](https://github.com/kbrandwijk) |
693
+ | Provider Name | Resolution | Developer |
694
+ | ---------------------------------- | ------------ | ------------------------------------------- |
695
+ | 🌎 SRTM30 | 30 meters | [iwatkot](https://github.com/iwatkot) |
696
+ | 🇺🇸 USGS | 1-90 meters | [ZenJakey](https://github.com/ZenJakey) |
697
+ | 🏴󠁧󠁢󠁥󠁮󠁧󠁿 England | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
698
+ | 🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland | 0.25-1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
699
+ | 🇩🇪 Hessen, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
700
+ | 🇩🇪 Niedersachsen, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
701
+ | 🇩🇪 Bayern, Germany | 1 meter | [H4rdB4se](https://github.com/H4rdB4se) |
702
+ | 🇩🇪 Nordrhein-Westfalen, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
703
+ | 🇩🇪 Mecklenburg-Vorpommern, Germany | 1-25 meter | [kbrandwijk](https://github.com/kbrandwijk) |
704
+ | 🇩🇪 Baden-Württemberg, Germany | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
705
+ | 🇨🇦 Canada | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
706
+ | 🇧🇪 Flanders, Belgium | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
707
+ | 🇫🇷 France | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
708
+ | 🇮🇹 Italy | 10 meter | [kbrandwijk](https://github.com/kbrandwijk) |
709
+ | 🇳🇴 Norway | 1 meter | [kbrandwijk](https://github.com/kbrandwijk) |
710
+ | 🇪🇸 Spain | 5 meter | [kbrandwijk](https://github.com/kbrandwijk) |
711
+ | 🇫🇮 Finland | 2 meter | [kbrandwijk](https://github.com/kbrandwijk) |
712
+ | 🇩🇰 Denmark | 0.4 meter | [kbrandwijk](https://github.com/kbrandwijk) |
713
+ | 🇨🇭 Switzerland | 0.5-2 meter | [kbrandwijk](https://github.com/kbrandwijk) |
712
714
 
713
715
  ## Special thanks
714
716
 
@@ -1,16 +1,16 @@
1
- maps4fs/__init__.py,sha256=vbZRLqERqH-LD2l69dSyZEU4DsuVCU93UrGX5wYs3Os,1431
1
+ maps4fs/__init__.py,sha256=nKKMY2PGVAluIcIdLp5sgspSDCBDriF3iE8Pd6xyKWI,1563
2
2
  maps4fs/logger.py,sha256=HQrDyj72mUjVYo25aR_-_SxVn2rfFjDCNbj-JKJdSnE,1488
3
3
  maps4fs/generator/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,43
4
- maps4fs/generator/dem.py,sha256=oLN02bWNax73HzFsseRBOV47Azl_1L7qdrzuxHh4i_c,11886
4
+ maps4fs/generator/dem.py,sha256=dyzCFfDL6W_nCjwi9uF3-PCiL36rfOh3jGXlDuwiJYg,11795
5
5
  maps4fs/generator/game.py,sha256=FFAyckuTW6Ix5aRACXOj2eiA72xd3OMCcOARrMhS164,11025
6
6
  maps4fs/generator/map.py,sha256=QrsZfOcyuLrQuGUjA0nyB7FTcxwj-LUe-rjLiq5P4ME,11467
7
7
  maps4fs/generator/qgis.py,sha256=Es8hLuqN_KH8lDfnJE6He2rWYbAKJ3RGPn-o87S6CPI,6116
8
8
  maps4fs/generator/settings.py,sha256=cFlN-gK8QcySqyPtcGm-2fLnxQnlmC3Y9kQufJxwI3Y,6270
9
- maps4fs/generator/texture.py,sha256=-xIpt71y349Hb0svnFln3e6Bu2GjI5jjNdmooP5TrOI,36778
9
+ maps4fs/generator/texture.py,sha256=kCbTHoHhJPRDLWNhqBF0ElC2bQBPztvaj2qaFrS9vnY,36774
10
10
  maps4fs/generator/component/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,43
11
- maps4fs/generator/component/background.py,sha256=1JPFZFgRFXGWE5u957gemudC4VzlRazzVBgv9diPzP8,18794
11
+ maps4fs/generator/component/background.py,sha256=Q1GCrCZxAHOI8eNabx_KpgVOYv-3B_WTWOKk4Gn7-o4,18790
12
12
  maps4fs/generator/component/config.py,sha256=RitKgFDZPzjA1fi8GcEi1na75qqaueUvpcITHjBvCXc,3674
13
- maps4fs/generator/component/grle.py,sha256=fT0LRR9cHi0oIPGY7zxsnrAvxnnsZs-lxQxhBhm43z8,19140
13
+ maps4fs/generator/component/grle.py,sha256=nDA6vjjfWFL0Hkz6aso1aLIwuksbxzZw9syNax1bD04,19134
14
14
  maps4fs/generator/component/i3d.py,sha256=kJ3Th1mSdBC9j8cyWBwIyYm0fKzYJtocI0jYWkVX3AU,19713
15
15
  maps4fs/generator/component/satellite.py,sha256=xzxqHp-G-jRgyI38-XdaMPdGWiC3PdhVJAjBnZL9wL8,5004
16
16
  maps4fs/generator/component/base/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,43
@@ -19,6 +19,7 @@ maps4fs/generator/component/base/component_image.py,sha256=fFgY6k2CbLIg3HS7KeiHi
19
19
  maps4fs/generator/component/base/component_mesh.py,sha256=43JY8X0ugIWAJq5y11vTJM9UfbL7SSugj8LkdPmni10,8871
20
20
  maps4fs/generator/component/base/component_xml.py,sha256=6OO1dKoceO1ACk7-k1oGtnkfNud8ZN3u3ZNjdNMpTqw,3967
21
21
  maps4fs/generator/dtm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ maps4fs/generator/dtm/baden.py,sha256=69nyaY-6lwrXyNcWlOGPzXQK726COiRJGE2UvADqaZQ,1039
22
23
  maps4fs/generator/dtm/bavaria.py,sha256=7njrEvSCYAC8ZVyvS-_84iXHhWA0oHKrEqSzxdnZuGs,4293
23
24
  maps4fs/generator/dtm/canada.py,sha256=lYONwm6aNX5cjVggR3AiZZF9dlCDAWg0M8RMaObog8s,1288
24
25
  maps4fs/generator/dtm/denmark.py,sha256=GMB9PPxXth6V1v3XuURVWVabJf4xlr158bKfeIIisek,1476
@@ -29,6 +30,7 @@ maps4fs/generator/dtm/flanders.py,sha256=81pKkrM40SeOe1LSlcsTNXSmUNpofC4D454DG6W
29
30
  maps4fs/generator/dtm/france.py,sha256=aPHrHiDr7nBND_yAh-xnhKeS5OJXJ3Qwb1s3Kkh5OJA,2050
30
31
  maps4fs/generator/dtm/hessen.py,sha256=dYu7TUXICaFMI1sc2l1i3ZDdM5fecXkj5jcz5ZuXIOw,964
31
32
  maps4fs/generator/dtm/italy.py,sha256=GCyEaNNLgNzjvvvpo8JfXTSijqeoG6TheOXNpSUWZaU,1222
33
+ maps4fs/generator/dtm/mv.py,sha256=6ropUQGY_cnkvzmZqiYg53MxzkP2tXXzslVaAbJPd1E,1362
32
34
  maps4fs/generator/dtm/niedersachsen.py,sha256=8HS8suZU3lKe2mPR1FVCSNHSsW5AuebIu_De3mpCQe8,1273
33
35
  maps4fs/generator/dtm/norway.py,sha256=kSsNZGEqb3IQ3a82UCJ_Iw_0wqdCgEvuRJ4JpEK7QYU,1269
34
36
  maps4fs/generator/dtm/nrw.py,sha256=1zMa10O0NdQbiTwOa7XXGrx3NhdHUqRXI4yBn_Scb2M,958
@@ -44,8 +46,8 @@ maps4fs/toolbox/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,4
44
46
  maps4fs/toolbox/background.py,sha256=RclEqxEWLbMxuEkkegQP8jybzugwQ1_R3rdfDe0s21U,2104
45
47
  maps4fs/toolbox/custom_osm.py,sha256=X6ZlPqiOhNjkmdD_qVroIfdOl9Rb90cDwVSLDVYgx80,1892
46
48
  maps4fs/toolbox/dem.py,sha256=z9IPFNmYbjiigb3t02ZenI3Mo8odd19c5MZbjDEovTo,3525
47
- maps4fs-1.8.183.dist-info/LICENSE.md,sha256=pTKD_oUexcn-yccFCTrMeLkZy0ifLRa-VNcDLqLZaIw,10749
48
- maps4fs-1.8.183.dist-info/METADATA,sha256=K5L9PNoYCSo-ARHvvGvZxnHIZefJ1V6z_PwlAwqYkMI,44314
49
- maps4fs-1.8.183.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
50
- maps4fs-1.8.183.dist-info/top_level.txt,sha256=Ue9DSRlejRQRCaJueB0uLcKrWwsEq9zezfv5dI5mV1M,8
51
- maps4fs-1.8.183.dist-info/RECORD,,
49
+ maps4fs-1.8.185.dist-info/LICENSE.md,sha256=pTKD_oUexcn-yccFCTrMeLkZy0ifLRa-VNcDLqLZaIw,10749
50
+ maps4fs-1.8.185.dist-info/METADATA,sha256=YmO48up_xnl4GkR49Mpe5zbpdFxXn0TTWu_FaKbMvyo,44584
51
+ maps4fs-1.8.185.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
52
+ maps4fs-1.8.185.dist-info/top_level.txt,sha256=Ue9DSRlejRQRCaJueB0uLcKrWwsEq9zezfv5dI5mV1M,8
53
+ maps4fs-1.8.185.dist-info/RECORD,,